亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? glui.h

?? c++源程序
?? H
?? 第 1 頁 / 共 4 頁
字號:
  void (*glut_idle_CB)(void);

  void                add_cb_to_glut_window(int window,int cb_type,void *cb);
  
public:
  GLUI_Node     gluis;
  GLUI_Control *active_control, *curr_left_button_glut_menu;
  GLUI         *active_control_glui;
  int           glui_id_counter;

  GLUI_Glut_Window   *find_glut_window( int window_id );

  void           set_glutIdleFunc(void (*f)(void));

  /**************
    void (*glut_keyboard_CB)(unsigned char, int, int);
    void (*glut_reshape_CB)(int, int);
    void (*glut_special_CB)(int, int, int);
    void (*glut_mouse_CB)(int,int,int,int);
    
    void (*glut_passive_motion_CB)(int,int);
    void (*glut_visibility_CB)(int);
    void (*glut_motion_CB)(int,int);
    void (*glut_display_CB)(void);
    void (*glut_entry_CB)(int);
    **********/

  void  set_left_button_glut_menu_control( GLUI_Control *control );


  /********** GLUT callthroughs **********/
  /* These are the glut callbacks that we do not handle */

  void set_glutReshapeFunc(void (*f)(int width, int height));
  void set_glutKeyboardFunc(void (*f)(unsigned char key, int x, int y));
  void set_glutSpecialFunc(void (*f)(int key, int x, int y));
  void set_glutMouseFunc(void (*f)(int, int, int, int ));

  void set_glutDisplayFunc(void (*f)(void)) {glutDisplayFunc(f);};
  void set_glutTimerFunc(unsigned int millis, void (*f)(int value), int value)
    { ::glutTimerFunc(millis,f,value);};
  void set_glutOverlayDisplayFunc(void(*f)(void)){glutOverlayDisplayFunc(f);};
  void set_glutSpaceballMotionFunc(Int3_CB f)  {glutSpaceballMotionFunc(f);};
  void set_glutSpaceballRotateFunc(Int3_CB f)  {glutSpaceballRotateFunc(f);};
  void set_glutSpaceballButtonFunc(Int2_CB f)  {glutSpaceballButtonFunc(f);};
  void set_glutTabletMotionFunc(Int2_CB f)        {glutTabletMotionFunc(f);};
  void set_glutTabletButtonFunc(Int4_CB f)        {glutTabletButtonFunc(f);};
  /*    void set_glutWindowStatusFunc(Int1_CB f)        {glutWindowStatusFunc(f);}; */
  void set_glutMenuStatusFunc(Int3_CB f)            {glutMenuStatusFunc(f);};
  void set_glutMenuStateFunc(Int1_CB f)              {glutMenuStateFunc(f);};
  void set_glutButtonBoxFunc(Int2_CB f)              {glutButtonBoxFunc(f);};
  void set_glutDialsFunc(Int2_CB f)                      {glutDialsFunc(f);};  
  

  GLUI          *create_glui( char *name, long flags=0, int x=-1, int y=-1 ); 
  GLUI          *create_glui_subwindow( int parent_window, long flags=0 );
  GLUI          *find_glui_by_window_id( int window_id );
  void           get_viewport_area( int *x, int *y, int *w, int *h );
  void           auto_set_viewport( void );
  void           close_all( void );
  void           sync_live_all( void );

  void           reshape( void );

  float          get_version( void ) { return GLUI_VERSION; };

  friend void    glui_idle_func(void);

  GLUI_Master_Object( void ) {
    glut_idle_CB    = NULL;
    glui_id_counter = 1;
  }
};

extern GLUI_Master_Object GLUI_Master;



/************************************************************/
/*                                                          */
/*              Class for managing a GLUT window            */
/*                                                          */
/************************************************************/

class GLUI_Glut_Window : public GLUI_Node {
public:
  int    glut_window_id;

  /*********** Pointers to GLUT callthrough functions *****/
  void (*glut_keyboard_CB)(unsigned char, int, int);
  void (*glut_special_CB)(int, int, int);
  void (*glut_reshape_CB)(int, int);
  void (*glut_passive_motion_CB)(int,int);
  void (*glut_mouse_CB)(int,int,int,int);
  void (*glut_visibility_CB)(int);
  void (*glut_motion_CB)(int,int);
  void (*glut_display_CB)(void);
  void (*glut_entry_CB)(int);

  GLUI_Glut_Window( void ) {
    glut_display_CB         = NULL;
    glut_reshape_CB         = NULL;
    glut_keyboard_CB        = NULL;
    glut_special_CB         = NULL;
    glut_mouse_CB           = NULL;
    glut_motion_CB          = NULL;
    glut_passive_motion_CB  = NULL;
    glut_entry_CB           = NULL;
    glut_visibility_CB      = NULL;
    glut_window_id          = 0;
  };
};



/************************************************************/
/*                                                          */
/*              Main GLUI class (not user-level)            */
/*                                                          */
/************************************************************/

class GLUI_Main : public GLUI_Node {
protected:
  /*** Variables ***/
  int           main_gfx_window_id;
  int           mouse_button_down;
  int           glut_window_id;
  int           top_level_glut_window_id;
  GLUI_Control *active_control;
  GLUI_Control *mouse_over_control;
  GLUI_Panel   *main_panel;
  int           curr_cursor;
  int           w, h;
  long          flags; 
  int           closing;
  int           parent_window;
  int           glui_id;

  /********** Friend classes *************/

  friend GLUI_Control;
  friend GLUI_Rotation;
  friend GLUI_Translation;
  friend GLUI;
  friend GLUI_Master_Object;


  /********** Misc functions *************/

  GLUI_Control  *find_control( int x, int y );
  GLUI_Control  *find_next_control( GLUI_Control *control );
  GLUI_Control  *find_next_control_rec( GLUI_Control *control );
  GLUI_Control  *find_next_control_( GLUI_Control *control );
  GLUI_Control  *find_prev_control( GLUI_Control *control );
  void           create_standalone_window( char *name, int x=-1, int y=-1 );
  void           create_subwindow( int parent,int window_alignment );
  void           setup_default_glut_callbacks( void );

  void           mouse(int button, int state, int x, int y);
  void           keyboard(unsigned char key, int x, int y);
  void           special(int key, int x, int y);
  void           passive_motion(int x, int y);
  void           reshape( int w, int h );
  void           visibility(int state);
  void           motion(int x, int y);
  void           entry(int state);
  void           display( void );
  void           idle(void);

  void (*glut_mouse_CB)(int, int, int, int);
  void (*glut_keyboard_CB)(unsigned char, int, int);
  void (*glut_special_CB)(int, int, int);
  void (*glut_reshape_CB)(int, int);

  
  /*********** Friend functions and classes **********/

  friend void    glui_mouse_func(int button, int state, int x, int y);
  friend void    glui_keyboard_func(unsigned char key, int x, int y);
  friend void    glui_special_func(int key, int x, int y);
  friend void    glui_passive_motion_func(int x, int y);
  friend void    glui_reshape_func( int w, int h );
  friend void    glui_visibility_func(int state);
  friend void    glui_motion_func(int x, int y);
  friend void    glui_entry_func(int state);
  friend void    glui_display_func( void );
  friend void    glui_idle_func(void);

  friend void    glui_parent_window_reshape_func( int w, int h );
  friend void    glui_parent_window_keyboard_func( unsigned char, int, int );
  friend void    glui_parent_window_special_func( int, int, int );
  friend void    glui_parent_window_mouse_func( int, int, int, int );


  /*********** Controls ************/
  GLUI_Control *controls;
  int           num_controls;

  int           add_control( GLUI_Node *parent, GLUI_Control *control );


  /********** Constructors and Destructors ***********/

  GLUI_Main( void );

public:
  GLUI_StdBitmaps  std_bitmaps;
  GLUI_String      window_name;
  RGBc             bkgd_color;
  float            bkgd_color_f[3];

  void            *font;
  int              curr_modifiers;

  void         adjust_glut_xy( int &x, int &y ) { y = h-y; };
  void         activate_control( GLUI_Control *control, int how );
  void         align_controls( GLUI_Control *control );
  void         restore_draw_buffer( int buffer_state );
  void         disactivate_current_control( void );
  void         draw_raised_box( int x, int y, int w, int h );
  void         draw_lowered_box( int x, int y, int w, int h );
  int          set_front_draw_buffer( void );
  void         post_update_main_gfx( void );
  void         pack_controls( void );
  void         close_internal( void );
  void         check_subwindow_position( void );
  void	       set_ortho_projection( void );
  void	       set_viewport( void );
  void         refresh( void );
};






/************************************************************/
/*                                                          */
/*       GLUI_Control: base class for all controls          */
/*                                                          */
/************************************************************/

class GLUI_Control : public GLUI_Node {
public:

  int             w, h;                        /* dimensions of control */
  int             x_abs, y_abs;
  int             x_off, y_off_top, y_off_bot; /* INNER margins, by which
						  child controls are indented */
  int             contain_x, contain_y; 
  int             contain_w, contain_h;
  /* if this is a container control (e.g., 
     radiogroup or panel) this indicated dimensions
     of inner area in which controls reside */
  int             active, active_type, can_activate;
  int             spacebar_mouse_click;
  long            user_id, type;
  int             is_container;  /* Is this a container class (e.g., panel) */
  int             alignment;
  GLUI_Update_CB  callback;
  void            *ptr_val;                              /* A pointer value */
  float           float_val;                               /* A float value */
  int             enabled;                   /* Is this control grayed out? */
  int             int_val;                              /* An integer value */
  float           float_array_val[GLUI_DEF_MAX_ARRAY];
  int             state;
  GLUI_String     name;                         /* The name of this control */
  GLUI_String     text;              
  GLUI           *glui;
  void           *font;
  int             live_type, live_inited;
  int             last_live_int;   /* last value that live var known to have */
  float           last_live_float;
  GLUI_String     last_live_text;
  float           last_live_float_array[GLUI_DEF_MAX_ARRAY];
  int             float_array_size;

  int             collapsible, is_open;
  GLUI_Node       collapsed_node;
  int             hidden; /* Collapsed controls (and children) are hidden */

  /*** Get/Set values ***/

  virtual void   set_name( char *string );
  virtual void   set_int_val( int new_int )         { int_val = new_int; output_live(true); };
  virtual void   set_float_val( float new_float )   { float_val = new_float; output_live(true); };
  virtual void   set_ptr_val( void *new_ptr )       { ptr_val = new_ptr; output_live(true); };
  virtual void   set_float_array_val( float *array_ptr );

  virtual float  get_float_val( void )              { return float_val; };
  virtual int    get_int_val( void )                { return int_val; };
  virtual void   get_float_array_val( float *array_ptr );
  
  virtual int mouse_down_handler( int local_x, int local_y ) 
    { return false; };
  virtual int mouse_up_handler( int local_x, int local_y, int inside )
    { return false; };
  virtual int mouse_held_down_handler( int local_x, int local_y, int inside)
    { return false; };
  virtual int key_handler( unsigned char key, int modifiers )
    { return false; };
  virtual int special_handler( int key,int modifiers )
    { return false; };

  virtual void update_size( void )     { };
  virtual void idle( void )            { };
  virtual int  mouse_over( int state, int x, int y ) { return false; };
  
  virtual void enable( void ); 
  virtual void disable( void );
  virtual void activate( int how )     { active = true; };
  virtual void disactivate( void )     { active = false; };

  void         hide_internal( int recurse );
  void         unhide_internal( int recurse );

  int          can_draw( void ) { return (glui != NULL && hidden == false); };

  virtual void align( void );
  void         pack( int x, int y );    /* Recalculate positions and offsets */
  void         pack_old( int x, int y );    
  void         draw_recursive( int x, int y );
  int          set_to_glut_window( void );
  void         restore_window( int orig );
  void         translate_and_draw_front( void );
  void         translate_to_origin( void ) 
    {glTranslatef((float)x_abs+.5,(float)y_abs+.5,0.0);};
  virtual void draw( int x, int y )=0;
  void         set_font( void *new_font );
  void        *get_font( void );
  int          string_width( char *text );
  int          char_width( char c );

  void         draw_name( int x, int y );
  void         draw_box_inwards_outline( int x_min, int x_max, 
					 int y_min, int y_max );
  void         draw_box( int x_min, int x_max, int y_min, int y_max,
			 float r, float g, float b );
  void         draw_bkgd_box( int x_min, int x_max, int y_min, int y_max );
  void         draw_emboss_box( int x_min, int x_max,int y_min,int y_max);
  void         draw_string( char *text );
  void         draw_char( char c );
  void         draw_active_box( int x_min, int x_max, int y_min, int y_max );
  void         set_to_bkgd_color( void );
	
  void         set_w( int new_w );
  void         set_h( int new_w );
  void         set_alignment( int new_align );
  void         sync_live( int recurse, int draw );  /* Reads live variable */
  void         init_live( void );
  void         output_live( int update_main_gfx );        /** Writes live variable **/
  virtual void set_text( char *t )   {};
  void         execute_callback( void );
  void         get_this_column_dims( int *col_x, int *col_y, 
				     int *col_w, int *col_h, 
				     int *col_x_off, int *col_y_off );
  virtual int  needs_idle( void );

  GLUI_Control(void) {
    x_off          = GLUI_XOFF;
    y_off_top      = GLUI_YOFF;
    y_off_bot      = GLUI_YOFF;
    x_abs          = GLUI_XOFF;
    y_abs          = GLUI_YOFF;
    state          = 0;
    active         = false;
    enabled        = true;
    int_val        = 0;
    last_live_int  = 0;
    float_array_size = 0;
    sprintf( (char*)name, "Control: %p", this );
    float_val      = 0.0;
    last_live_float = 0.0;
    ptr_val        = NULL;
    glui           = NULL;
    w              = GLUI_DEFAULT_CONTROL_WIDTH;
    h              = GLUI_DEFAULT_CONTROL_HEIGHT;
    font           = NULL;
    active_type    = GLUI_CONTROL_ACTIVE_MOUSEDOWN;
    alignment      = GLUI_ALIGN_LEFT;
    is_container   = false;
    can_activate   = true;         /* By default, you can activate a control */
    spacebar_mouse_click = true;    /* Does spacebar simulate a mouse click? */
    live_type      = GLUI_LIVE_NONE;
    strcpy( (char*)text, "" );
    strcpy( (char*)last_live_text, "" );
    live_inited    = false;
    collapsible    = false;
    is_open        = true;
    hidden         = false;

    int i;
    for( i=0; i<GLUI_DEF_MAX_ARRAY; i++ )
      float_array_val[i] = last_live_float_array[i] = 0.0;
  };

  ~GLUI_Control();
};




/************************************************************/
/*                                                          */
/*               Button class (container)                   */
/*                                                          */
/************************************************************/

class GLUI_Button : public GLUI_Control
{
public:
  int currently_inside;

  int  mouse_down_handler( int local_x, int local_y );
  int  mouse_up_handler( int local_x, int local_y, int same );
  int  mouse_held_down_handler( int local_x, int local_y, int inside );
  int  key_handler( unsigned char key,int modifiers );
  
  void draw( int x, int y );
  void draw_pressed( void );
  void draw_unpressed( void );

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美日韩黄色大片| 欧美一二三区在线观看| 国产 欧美在线| 国产美女久久久久| 国产呦精品一区二区三区网站| 日韩**一区毛片| 肉色丝袜一区二区| 麻豆精品久久精品色综合| 日本在线观看不卡视频| 美腿丝袜在线亚洲一区| 黄色小说综合网站| 国产一二三精品| 国产成人无遮挡在线视频| 国产老肥熟一区二区三区| 国产精品自在在线| 成人免费视频视频| 91影院在线观看| 欧美午夜视频网站| 9191久久久久久久久久久| 在线播放一区二区三区| 欧美电影免费观看高清完整版| 亚洲精品一区二区三区香蕉 | 中文字幕中文字幕一区| 日韩久久一区二区| 亚洲.国产.中文慕字在线| 久久综合综合久久综合| 国产米奇在线777精品观看| 成人av在线影院| 色老综合老女人久久久| 欧美日韩亚洲综合在线 | 日韩一区欧美二区| 黑人巨大精品欧美黑白配亚洲| 丁香婷婷深情五月亚洲| 91视频.com| 欧美日韩午夜影院| 26uuu亚洲综合色| 成人欧美一区二区三区白人| 亚洲一区av在线| 麻豆精品久久精品色综合| 成人精品gif动图一区| 91久久奴性调教| 日韩精品一区二区三区四区| 中文字幕的久久| 亚洲mv在线观看| 国产一区久久久| 色欧美乱欧美15图片| 欧美一区2区视频在线观看| 国产欧美视频一区二区| 亚洲愉拍自拍另类高清精品| 国产一区二区三区四| 色综合一个色综合亚洲| 欧美videos中文字幕| 亚洲色图一区二区三区| 美女被吸乳得到大胸91| 色一区在线观看| 久久一区二区三区国产精品| 一区二区三区中文字幕精品精品| 久久狠狠亚洲综合| 色视频成人在线观看免| 国产亚洲欧美一级| 亚洲成人av资源| 99在线精品视频| 久久综合色综合88| 亚洲国产成人高清精品| 不卡的av电影在线观看| 精品成人一区二区三区| 亚洲精品国产视频| 国产精品1区2区| 69堂国产成人免费视频| 亚洲日本va午夜在线影院| 国产一区二区看久久| 欧美专区亚洲专区| 国产精品欧美一区喷水| 久久99精品国产91久久来源| 在线观看一区不卡| 1000精品久久久久久久久| 国产真实精品久久二三区| 欧美精品日韩综合在线| 亚洲欧美国产毛片在线| 成人免费视频视频在线观看免费| 精品日韩一区二区三区| 日本欧美在线看| 欧美亚男人的天堂| 亚洲视频一二三| 从欧美一区二区三区| 欧美精品一区二区三区四区 | 日本欧美在线看| 欧美日韩精品一区视频| 亚洲黄色小说网站| 91麻豆精东视频| 亚洲欧洲中文日韩久久av乱码| 极品尤物av久久免费看| 欧美xxxxx牲另类人与| 免费黄网站欧美| 日韩欧美亚洲国产另类 | 99精品桃花视频在线观看| 国产欧美日本一区视频| 国产毛片精品视频| 精品国产乱码久久久久久老虎| 日本欧美久久久久免费播放网| 欧美日韩精品二区第二页| 亚洲一区自拍偷拍| 欧美视频在线观看一区| 亚洲一区免费观看| 91官网在线免费观看| 一区二区三区**美女毛片| 91电影在线观看| 亚洲超碰精品一区二区| 欧美日韩一区二区三区不卡| 偷窥少妇高潮呻吟av久久免费| 欧美视频一区二区三区四区 | 天堂久久久久va久久久久| 欧美吞精做爰啪啪高潮| 亚洲一二三区视频在线观看| 欧美优质美女网站| 日韩在线一区二区三区| 91精品国产高清一区二区三区 | 欧美视频一区二| 日日欢夜夜爽一区| 日韩三区在线观看| 国产原创一区二区| 国产精品亲子伦对白| 色综合亚洲欧洲| 石原莉奈在线亚洲二区| 日韩视频一区二区在线观看| 国产一区二区精品久久99| 国产欧美日韩综合精品一区二区| 91视频一区二区| 日韩国产欧美视频| 久久综合精品国产一区二区三区| 国产不卡一区视频| 一区二区三区久久久| 欧美精品黑人性xxxx| 国产精品资源网| 一区二区三区在线观看欧美| 欧美猛男男办公室激情| 韩国三级电影一区二区| 亚洲色图欧美激情| 日韩一级黄色大片| 国产精品一区二区无线| 一区2区3区在线看| 日韩精品专区在线| 不卡一二三区首页| 午夜精品久久一牛影视| 久久夜色精品一区| 欧美唯美清纯偷拍| 国产精品综合在线视频| 亚洲男人天堂av| 日韩精品一区二区三区四区视频| jizz一区二区| 免费视频最近日韩| 亚洲欧美综合在线精品| 91精品欧美综合在线观看最新| 国产精品一区二区免费不卡| 亚洲一区二区高清| 欧美高清在线一区| 欧美一区二区黄色| 91原创在线视频| 紧缚捆绑精品一区二区| 一区二区高清免费观看影视大全| 欧美精品一区二区高清在线观看| 色综合天天综合给合国产| 老司机精品视频导航| 亚洲人成在线播放网站岛国| 日韩美女在线视频| 欧美三级乱人伦电影| 成人美女视频在线观看| 免费成人在线视频观看| 亚洲三级电影网站| 国产日韩欧美精品在线| 欧美美女视频在线观看| 99精品欧美一区二区三区小说| 久久精品国产精品青草| 亚洲影院久久精品| 国产精品乱码人人做人人爱 | 麻豆91精品视频| 依依成人综合视频| 久久久久99精品国产片| 91 com成人网| 色999日韩国产欧美一区二区| 国产麻豆视频精品| 男人操女人的视频在线观看欧美| 亚洲综合免费观看高清在线观看 | 经典三级视频一区| 日本欧美肥老太交大片| 亚洲一卡二卡三卡四卡| 亚洲欧美一区二区在线观看| 久久人人超碰精品| 欧美一级二级三级蜜桃| 欧美精品国产精品| 91欧美一区二区| 成人国产免费视频| 成人丝袜18视频在线观看| 国产精品小仙女| 国产传媒欧美日韩成人| 国产一区二区免费在线| 另类调教123区| 久久91精品久久久久久秒播| 蜜臀91精品一区二区三区 | 久久国产精品色婷婷|