forked from KolibriOS/kolibrios
b7abf42dc1
git-svn-id: svn://kolibrios.org@6482 a494cfbc-eb01-0410-851d-a64ba20cac60
55 lines
1.8 KiB
C
55 lines
1.8 KiB
C
#ifndef KOLIBRI_CHECKBOX_H
|
|
#define KOLIBRI_CHECKBOX_H
|
|
|
|
#include "kolibri_colors.h"
|
|
|
|
/*
|
|
ch_flag_en - ôëàã óñòàíîâëåííîãî ÷åê áîêñà
|
|
ch_flag_top - ôëàã ðàñïîëîæåíèÿ òåêñòà ââåðõó
|
|
ch_flag_middle - ôëàã ðàñïîëîæåíèÿ òåêñòà â öåíòðå
|
|
ch_flag_bottom - ôëàã ðàñïîëîæåíèÿ òåêñòà â íèçó ò.å. ïî óìîë÷àíèþ ïðèíèìàåòñÿ çíà÷åíèå âíèçó
|
|
*/
|
|
|
|
enum CHECKBOX_FLAGS {
|
|
CHECKBOX_IS_SET = 0x00000002
|
|
/* Add more flags later */
|
|
};
|
|
|
|
typedef struct {
|
|
unsigned int left_s;
|
|
unsigned int top_s;
|
|
unsigned int ch_text_margin;
|
|
unsigned int color;
|
|
unsigned int border_color;
|
|
unsigned int text_color;
|
|
char *text;
|
|
unsigned int flags;
|
|
|
|
/* Users can use members above this */
|
|
unsigned int size_of_str;
|
|
}check_box;
|
|
|
|
extern void (*check_box_draw2)(check_box *) __attribute__((__stdcall__));
|
|
extern void (*check_box_mouse2)(check_box *)__attribute__((__stdcall__));
|
|
extern void (*init_checkbox2)(check_box *)__attribute__((__stdcall__));
|
|
|
|
check_box* kolibri_new_check_box(unsigned int tlx, unsigned int tly, unsigned int sizex, unsigned int sizey, char *label_text)
|
|
{
|
|
check_box* new_checkbox = (check_box *)malloc(sizeof(check_box));
|
|
new_checkbox -> left_s = (tlx << 16) + sizex;
|
|
new_checkbox -> top_s = (tly << 16) + sizey;
|
|
new_checkbox -> ch_text_margin = 10;
|
|
new_checkbox -> color = kolibri_color_table.color_work_area; // 0xFFFFFFFF; // 0x80AABBCC, 31-bit mus be set asciiz
|
|
new_checkbox -> border_color = kolibri_color_table.color_work_graph;
|
|
new_checkbox -> text_color = kolibri_color_table.color_work_text;
|
|
new_checkbox -> text = label_text;
|
|
new_checkbox -> flags = 0x00000008;
|
|
|
|
(*init_checkbox2)(new_checkbox); // count text width for mouse action and set flags
|
|
|
|
return new_checkbox;
|
|
}
|
|
|
|
|
|
#endif /* KOLIBRI_CHECKBOX_H */
|