fltkhs-0.1.0.0: c-examples/cursor.c
#include <Fl_C.h>
#include <Fl_Double_WindowC.h>
#include <Fl_Value_SliderC.h>
#include <Fl_ChoiceC.h>
#include <Fl_DrawC.h>
#include <Fl_Menu_ItemC.h>
#include <stdio.h>
Fl_Color fg;
Fl_Color bg;
Fl_Cursor cursor;
fl_Hor_Value_Slider cursor_slider;
void choice_cb(fl_Widget w, void* v) {
cursor = (Fl_Cursor)(fl_intptr_t)v;
Fl_Value_Slider_set_value(cursor_slider,cursor);
flc_cursor_with_fg_bg(cursor,fg,bg);
}
void setcursor(fl_Widget o, void * user_data) {
fl_Hor_Value_Slider slider = (fl_Hor_Value_Slider)o;
cursor = (int)(Fl_Value_Slider_value(slider));
flc_cursor_with_fg_bg(cursor,fg,bg);
}
void setfg(fl_Widget o, void* user_data) {
fl_Hor_Value_Slider slider = (fl_Hor_Value_Slider)o;
fg = (Fl_Color)(Fl_Value_Slider_value(slider));
flc_cursor_with_fg_bg(cursor,fg,bg);
}
void setbg(fl_Widget o, void* user_data) {
fl_Hor_Value_Slider slider = (fl_Hor_Value_Slider)o;
bg = (Fl_Color)(Fl_Value_Slider_value(slider));
flc_cursor_with_fg_bg(cursor,fg,bg);
}
int main(int argc, char **argv) {
fg = FL_BLACK;
bg = FL_WHITE;
cursor = FL_CURSOR_DEFAULT;
fl_Menu_Item i1 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i1,"FL_CURSOR_DEFAULT");
Fl_Menu_Item_set_shortcut(i1,0);
Fl_Menu_Item_set_callback(i1,&choice_cb);
Fl_Menu_Item_set_user_data(i1,(void*)FL_CURSOR_DEFAULT);
fl_Menu_Item i2 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i2,"FL_CURSOR_ARROW");
Fl_Menu_Item_set_shortcut(i2,0);
Fl_Menu_Item_set_callback(i2,&choice_cb);
Fl_Menu_Item_set_user_data(i2,(void*)FL_CURSOR_ARROW);
fl_Menu_Item i3 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i3,"FL_CURSOR_CROSS");
Fl_Menu_Item_set_shortcut(i3,0);
Fl_Menu_Item_set_callback(i3,&choice_cb);
Fl_Menu_Item_set_user_data(i3,(void*)FL_CURSOR_CROSS);
fl_Menu_Item i4 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i4,"FL_CURSOR_WAIT");
Fl_Menu_Item_set_shortcut(i4,0);
Fl_Menu_Item_set_callback(i4,&choice_cb);
Fl_Menu_Item_set_user_data(i4,(void*)FL_CURSOR_WAIT);
fl_Menu_Item i5 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i5,"FL_CURSOR_INSERT");
Fl_Menu_Item_set_shortcut(i5,0);
Fl_Menu_Item_set_callback(i5,&choice_cb);
Fl_Menu_Item_set_user_data(i5,(void*)FL_CURSOR_INSERT);
fl_Menu_Item i6 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i6,"FL_CURSOR_HAND");
Fl_Menu_Item_set_shortcut(i6,0);
Fl_Menu_Item_set_callback(i6,&choice_cb);
Fl_Menu_Item_set_user_data(i6,(void*)FL_CURSOR_HAND);
fl_Menu_Item i7 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i7,"FL_CURSOR_HELP");
Fl_Menu_Item_set_shortcut(i7,0);
Fl_Menu_Item_set_callback(i7,&choice_cb);
Fl_Menu_Item_set_user_data(i7,(void*)FL_CURSOR_HELP);
fl_Menu_Item i8 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i8,"FL_CURSOR_MOVE");
Fl_Menu_Item_set_shortcut(i8,0);
Fl_Menu_Item_set_callback(i8,&choice_cb);
Fl_Menu_Item_set_user_data(i8,(void*)FL_CURSOR_MOVE);
fl_Menu_Item i9 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i9,"FL_CURSOR_NS");
Fl_Menu_Item_set_shortcut(i9,0);
Fl_Menu_Item_set_callback(i9,&choice_cb);
Fl_Menu_Item_set_user_data(i9,(void*)FL_CURSOR_NS);
fl_Menu_Item i10 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i10,"FL_CURSOR_WE");
Fl_Menu_Item_set_shortcut(i10,0);
Fl_Menu_Item_set_callback(i10,&choice_cb);
Fl_Menu_Item_set_user_data(i10,(void*)FL_CURSOR_WE);
fl_Menu_Item i11 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i11,"FL_CURSOR_NWSE");
Fl_Menu_Item_set_shortcut(i11,0);
Fl_Menu_Item_set_callback(i11,&choice_cb);
Fl_Menu_Item_set_user_data(i11,(void*)FL_CURSOR_NWSE);
fl_Menu_Item i12 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i12,"FL_CURSOR_NESW");
Fl_Menu_Item_set_shortcut(i12,0);
Fl_Menu_Item_set_callback(i12,&choice_cb);
Fl_Menu_Item_set_user_data(i12,(void*)FL_CURSOR_NESW);
fl_Menu_Item i13 = (fl_Menu_Item)Fl_Menu_Item_New();
Fl_Menu_Item_set_label(i13,"FL_CURSOR_NONE");
Fl_Menu_Item_set_shortcut(i13,0);
Fl_Menu_Item_set_callback(i13,&choice_cb);
Fl_Menu_Item_set_user_data(i13,(void*)FL_CURSOR_NONE);
fl_Menu_Item i14 = (fl_Menu_Item)Fl_Menu_Item_New();
fl_Menu_Item choices[] = {i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12,i13,i14};
fl_Double_Window window = (fl_Double_Window)Fl_Double_Window_New(400,300);
fl_Choice choice = Fl_Choice_New_WithLabel(80,100,200,25,"Cursor:");
Fl_Choice_menu_with_m(choice,choices,14);
// Fl_Choice_set_callback(choice,&choice_cb);
Fl_Choice_set_when(choice,FL_WHEN_RELEASE|FL_WHEN_NOT_CHANGED);
fl_Hor_Value_Slider slider1 = Fl_Hor_Value_Slider_New_WithLabel(80,180,310,30,"Cursor:");
cursor_slider = slider1;
Fl_Value_Slider_set_align(slider1,FL_ALIGN_LEFT);
Fl_Value_Slider_set_step(slider1,1);
Fl_Value_Slider_precision(slider1,0);
Fl_Value_Slider_bounds(slider1,0,100);
Fl_Value_Slider_set_value(slider1,0);
Fl_Value_Slider_set_callback(slider1,&setcursor);
Fl_Value_Slider_set_value(slider1,cursor);
fl_Hor_Value_Slider slider2 = Fl_Hor_Value_Slider_New_WithLabel(80,220,310,30,"fgcolor:");
Fl_Value_Slider_set_align(slider2,FL_ALIGN_LEFT);
Fl_Value_Slider_set_step(slider2,1);
Fl_Value_Slider_precision(slider2,0);
Fl_Value_Slider_bounds(slider2,0,255);
Fl_Value_Slider_set_value(slider2,0);
Fl_Value_Slider_set_callback(slider2,&setfg);
Fl_Value_Slider_set_value(slider2,fg);
fl_Hor_Value_Slider slider3 = Fl_Hor_Value_Slider_New_WithLabel(80,260,310,30,"bgcolor:");
Fl_Value_Slider_set_align(slider3,FL_ALIGN_LEFT);
Fl_Value_Slider_set_step(slider3,1);
Fl_Value_Slider_precision(slider3,0);
Fl_Value_Slider_bounds(slider3,0,255);
Fl_Value_Slider_set_value(slider3,0);
Fl_Value_Slider_set_callback(slider3,&setbg);
Fl_Value_Slider_set_value(slider3,bg);
Fl_Double_Window_set_resizable(window, window);
Fl_Double_Window_show_with_args(window, argc, argv);
return(Fl_run());
}