?? glui.h
字號:
void draw_text( int sunken );
void update_size( void );
GLUI_Button( void ) {
sprintf( name, "Button: %p", this );
type = GLUI_CONTROL_BUTTON;
h = GLUI_BUTTON_SIZE;
w = 100;
alignment = GLUI_ALIGN_CENTER;
can_activate = true;
};
};
/************************************************************/
/* */
/* Checkbox class (container) */
/* */
/************************************************************/
class GLUI_Checkbox : public GLUI_Control
{
public:
int orig_value, currently_inside;
int text_x_offset;
int mouse_down_handler( int local_x, int local_y );
int mouse_up_handler( int local_x, int local_y, int inside );
int mouse_held_down_handler( int local_x, int local_y, int inside );
int key_handler( unsigned char key,int modifiers );
void update_size( void );
void draw( int x, int y );
void draw_active_area( void );
void draw_checked( void );
void draw_unchecked( void );
void draw_X( void );
void draw_empty_box( void );
void set_int_val( int new_val );
GLUI_Checkbox( void ) {
sprintf( name, "Checkbox: %p", this );
type = GLUI_CONTROL_CHECKBOX;
w = 100;
h = GLUI_CHECKBOX_SIZE;
orig_value = -1;
text_x_offset = 18;
can_activate = true;
live_type = GLUI_LIVE_INT; /* This control has an 'int' live var */
};
};
/************************************************************/
/* */
/* Column class */
/* */
/************************************************************/
class GLUI_Column : public GLUI_Control
{
public:
void draw( int x, int y );
GLUI_Column( void ) {
type = GLUI_CONTROL_COLUMN;
w = 0;
h = 0;
int_val = 0;
can_activate = false;
};
};
/************************************************************/
/* */
/* Panel class (container) */
/* */
/************************************************************/
class GLUI_Panel : public GLUI_Control
{
public:
void draw( int x, int y );
void set_name( char *text );
void set_type( int new_type );
void update_size( void );
GLUI_Panel( void ) {
type = GLUI_CONTROL_PANEL;
w = 300;
h = GLUI_DEFAULT_CONTROL_HEIGHT + 7;
int_val = GLUI_PANEL_EMBOSSED;
alignment = GLUI_ALIGN_CENTER;
is_container = true;
can_activate = false;
strcpy( name, "" );
};
};
/************************************************************/
/* */
/* Panel class (container) */
/* */
/************************************************************/
class GLUI_Rollout : public GLUI_Panel
{
/* private: */
/* GLUI_Panel panel; */
public:
int currently_inside, initially_inside;
GLUI_Button button;
void draw( int x, int y );
void draw_pressed( void );
void draw_unpressed( void );
int mouse_down_handler( int local_x, int local_y );
int mouse_up_handler( int local_x, int local_y, int inside );
int mouse_held_down_handler( int local_x, int local_y, int inside );
void open( void );
void close( void );
/* void set_name( char *text ) { panel.set_name( text ); }; */
void update_size( void );
GLUI_Rollout( void ) {
currently_inside = false;
initially_inside = false;
can_activate = true;
is_container = true;
type = GLUI_CONTROL_ROLLOUT;
h = GLUI_DEFAULT_CONTROL_HEIGHT + 7;
w = GLUI_DEFAULT_CONTROL_WIDTH;
y_off_top = 21;
collapsible = true;
strcpy( name, "" );
};
};
/************************************************************/
/* */
/* User-Level GLUI class */
/* */
/************************************************************/
class GLUI : public GLUI_Main {
private:
public:
void add_column( int draw_bar = true );
void add_column_to_panel( GLUI_Panel *panel, int draw_bar = true );
void add_separator( void );
void add_separator_to_panel( GLUI_Panel *panel );
GLUI_RadioGroup
*add_radiogroup( int *live_var=NULL,
int user_id=-1,GLUI_Update_CB callback=NULL);
GLUI_RadioGroup
*add_radiogroup_to_panel( GLUI_Panel *panel,
int *live_var=NULL,
int user_id=-1, GLUI_Update_CB callback=NULL );
GLUI_RadioButton
*add_radiobutton_to_group( GLUI_RadioGroup *group,
char *name );
GLUI_Listbox *add_listbox( char *name, int *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL );
GLUI_Listbox *add_listbox_to_panel( GLUI_Panel *panel,
char *name, int *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL);
GLUI_Rotation *add_rotation( char *name, float *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL );
GLUI_Rotation *add_rotation_to_panel( GLUI_Panel *panel,
char *name, float *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL);
GLUI_Translation *add_translation( char *name,
int trans_type, float *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL );
GLUI_Translation *add_translation_to_panel(
GLUI_Panel *panel, char *name,
int trans_type, float *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL);
GLUI_Checkbox *add_checkbox( char *name,
int *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL);
GLUI_Checkbox *add_checkbox_to_panel( GLUI_Panel *panel, char *name,
int *live_var=NULL, int id=-1,
GLUI_Update_CB callback=NULL);
GLUI_Button *add_button( char *name, int id=-1,
GLUI_Update_CB callback=NULL);
GLUI_Button *add_button_to_panel( GLUI_Panel *panel, char *name,
int id=-1, GLUI_Update_CB callback=NULL );
GLUI_StaticText *add_statictext( char *name );
GLUI_StaticText *add_statictext_to_panel( GLUI_Panel *panel, char *name );
GLUI_EditText *add_edittext( char *name,
int data_type=GLUI_EDITTEXT_TEXT,
void *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL );
GLUI_EditText *add_edittext_to_panel( GLUI_Panel *panel,
char *name,
int data_type=GLUI_EDITTEXT_TEXT,
void *live_var=NULL, int id=-1,
GLUI_Update_CB callback=NULL );
GLUI_Spinner *add_spinner( char *name,
int data_type=GLUI_SPINNER_INT,
void *live_var=NULL,
int id=-1, GLUI_Update_CB callback=NULL );
GLUI_Spinner *add_spinner_to_panel( GLUI_Panel *panel,
char *name,
int data_type=GLUI_SPINNER_INT,
void *live_var=NULL,
int id=-1,
GLUI_Update_CB callback=NULL );
GLUI_Panel *add_panel( char *name, int type=GLUI_PANEL_EMBOSSED );
GLUI_Panel *add_panel_to_panel( GLUI_Panel *panel, char *name,
int type=GLUI_PANEL_EMBOSSED );
GLUI_Rollout *add_rollout( char *name, int open=true );
GLUI_Rollout *add_rollout_to_panel( GLUI_Panel *panel, char *name, int open=true );
void set_main_gfx_window( int window_id );
int get_glut_window_id( void ) { return glut_window_id; };
void enable( void ) { main_panel->enable(); };
void disable( void );
void sync_live( void );
void close( void );
void show( void );
void hide( void );
/***** GLUT callback setup functions *****/
/*
void set_glutDisplayFunc(void (*f)(void));
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 button, int state, int x, int y));
void set_glutMotionFunc(void (*f)(int x, int y));
void set_glutPassiveMotionFunc(void (*f)(int x, int y));
void set_glutEntryFunc(void (*f)(int state));
void set_glutVisibilityFunc(void (*f)(int state));
void set_glutInit( int *argcp, char **argv );
void set_glutInitWindowSize(int width, int height);
void set_glutInitWindowPosition(int x, int y);
void set_glutInitDisplayMode(unsigned int mode);
int set_glutCreateWindow(char *name);
*/
/***** Constructors and desctructors *****/
int init( char *name, long flags, int x, int y, int parent_window );
};
/************************************************************/
/* */
/* EditText class */
/* */
/************************************************************/
class GLUI_EditText : public GLUI_Control
{
public:
int has_limits;
int data_type;
GLUI_String orig_text;
int insertion_pt;
int title_x_offset;
int text_x_offset;
int substring_start; /*substring that gets displayed in box*/
int substring_end;
int sel_start, sel_end; /* current selection */
int num_periods;
int last_insertion_pt;
float float_low, float_high;
int int_low, int_high;
GLUI_Spinner *spinner;
int debug;
int draw_text_only;
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 );
int special_handler( int key,int modifiers );
void activate( int how );
void disactivate( void );
void draw( int x, int y );
int mouse_over( int state, int x, int y );
int find_word_break( int start, int direction );
int substring_width( int start, int end );
void clear_substring( int start, int end );
int find_insertion_pt( int x, int y );
int update_substring_bounds( void );
void update_and_draw_text( void );
void draw_text( int x, int y );
void draw_insertion_pt( void );
void set_numeric_text( void );
void update_x_offsets( void );
void update_size( void );
void set_float_limits( float low,float high,int limit_type=GLUI_LIMIT_CLAMP);
void set_int_limits( int low, int high, int limit_type=GLUI_LIMIT_CLAMP );
void set_float_val( float new_val );
void set_int_val( int new_val );
void set_text( char *text );
char *get_text( void ) { return text; };
void dump( FILE *out, char *text );
GLUI_EditText( void ) {
type = GLUI_CONTROL_EDITTEXT;
h = GLUI_EDITTEXT_HEIGHT;
w = GLUI_EDITTEXT_WIDTH;
title_x_offset = 0;
text_x_offset = 55;
insertion_pt = -1;
last_insertion_pt = -1;
name[0] = '\0';
substring_start = 0;
data_type = GLUI_EDITTEXT_TEXT;
substring_end = 2;
num_periods = 0;
has_limits = GLUI_LIMIT_NONE;
sel_start = 0;
sel_end = 0;
active_type = GLUI_CONTROL_ACTIVE_PERMANENT;
can_activate = true;
spacebar_mouse_click = false;
spinner = NULL;
debug = false;
draw_text_only = false;
};
};
/************************************************************/
/* */
/* RadioGroup class (container) */
/* */
/************************************************************/
class GLUI_RadioGroup : public GLUI_Control
{
public:
int num_buttons;
void draw( int x, int y );
void set_name( char *text );
void set_int_val( int int_val );
void set_selected( int int_val );
void draw_group( int translate );
GLUI_RadioGroup( void ) {
type = GLUI_CONTROL_RADIOGROUP;
x_off = 0;
y_off_top = 0;
y_off_bot = 0;
is_container = true;
w = 300;
h = 300;
num_buttons = 0;
name[0] = '\0';
can_activate = false;
live_type = GLUI_LIVE_INT;
};
};
/************************************************************/
/* */
/* RadioButton class (container) */
/* */
/************************************************************/
class GLUI_RadioButton : public GLUI_Control
{
public:
int orig_value, currently_inside;
int text_x_offset;
int mouse_down_handler( int local_x, int local_y );
int mouse_up_handler( int local_x, int local_y, int inside );
int mouse_held_down_handler( int local_x, int local_y, int inside );
void draw( int x, int y );
void update_size( void );
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -