kolibrios/programs/develop/ktcc/trunk/libc.obj/include/clayer/dialog.h
turbocat 99922e4c2c Update skipped files in previous commit
git-svn-id: svn://kolibrios.org@9766 a494cfbc-eb01-0410-851d-a64ba20cac60
2022-04-15 09:11:49 +00:00

127 lines
3.9 KiB
C

#ifndef KOLIBRI_DIALOG_H
#define KOLIBRI_DIALOG_H
#include <stdlib.h>
#define NOT_SUCCESS 0
#define SUCCESS 1
char sz_com_area_name[] = "FFFFFFFF_open_dialog";
char sz_dir_default_path[] = "/sys";
char sz_start_path[] = "/sys/File managers/opendial";
char cd_com_area_name[] = "FFFFFFFF_color_dialog";
char cd_start_path[] = "/sys/colrdial";
enum open_dialog_mode {
OPEN,
SAVE,
SELECT
};
typedef struct {
unsigned int size;
unsigned char end;
} od_filter __attribute__((__packed__));
typedef struct {
unsigned int mode;
char* procinfo;
char* com_area_name;
unsigned int com_area;
char* opendir_path;
char* dir_default_path;
char* start_path;
void (*draw_window)();
unsigned int status;
char* openfile_path;
char* filename_area;
od_filter* filter_area;
unsigned short x_size;
unsigned short x_start;
unsigned short y_size;
unsigned short y_start;
} open_dialog __attribute__((__packed__));
typedef struct {
unsigned int type;
char* procinfo;
char* com_area_name;
unsigned int com_area;
char* start_path;
void (*draw_window)(void);
unsigned int status;
unsigned short x_size;
unsigned short x_start;
unsigned short y_size;
unsigned short y_start;
unsigned int color_type;
unsigned int color;
} color_dialog __attribute__((__packed__));
void fake_on_redraw(void) { }
open_dialog* kolibri_new_open_dialog(unsigned int mode, unsigned short tlx, unsigned short tly, unsigned short x_size, unsigned short y_size)
{
open_dialog* new_opendialog = (open_dialog*)malloc(sizeof(open_dialog));
od_filter* new_od_filter = (od_filter*)malloc(sizeof(od_filter));
char* plugin_path = (char*)calloc(4096, sizeof(char));
char* openfile_path = (char*)calloc(4096, sizeof(char));
char* proc_info = (char*)calloc(1024, sizeof(char));
char* filename_area = (char*)calloc(256, sizeof(char));
new_od_filter->size = 0;
new_od_filter->end = 0;
new_opendialog->mode = mode;
new_opendialog->procinfo = proc_info;
new_opendialog->com_area_name = sz_com_area_name;
new_opendialog->com_area = 0;
new_opendialog->opendir_path = plugin_path;
new_opendialog->dir_default_path = sz_dir_default_path;
new_opendialog->start_path = sz_start_path;
new_opendialog->draw_window = &fake_on_redraw;
new_opendialog->status = 0;
new_opendialog->openfile_path = openfile_path;
new_opendialog->filename_area = filename_area;
new_opendialog->filter_area = new_od_filter;
new_opendialog->x_size = x_size;
new_opendialog->x_start = tlx;
new_opendialog->y_size = y_size;
new_opendialog->y_start = tly;
return new_opendialog;
}
void cd_fake_on_redraw(void) { }
color_dialog* kolibri_new_color_dialog(unsigned int type, unsigned short tlx, unsigned short tly, unsigned short x_size, unsigned short y_size)
{
color_dialog* new_colordialog = (color_dialog*)malloc(sizeof(color_dialog));
char* proc_info = (char*)calloc(1024, sizeof(char));
new_colordialog->type = type;
new_colordialog->procinfo = proc_info;
new_colordialog->com_area_name = cd_com_area_name;
new_colordialog->com_area = 0;
new_colordialog->start_path = cd_start_path;
new_colordialog->draw_window = &cd_fake_on_redraw;
new_colordialog->status = 0;
new_colordialog->x_size = x_size;
new_colordialog->x_start = tlx;
new_colordialog->y_size = y_size;
new_colordialog->y_start = tly;
new_colordialog->color_type = 0;
new_colordialog->color = 0;
return new_colordialog;
}
void kolibri_dialog_init();
extern void __stdcall (*OpenDialog_init)(open_dialog*);
extern void __stdcall (*OpenDialog_start)(open_dialog*);
extern void __stdcall (*ColorDialog_init)(color_dialog*);
extern void __stdcall (*ColorDialog_start)(color_dialog*);
#endif