forked from KolibriOS/kolibrios
99922e4c2c
git-svn-id: svn://kolibrios.org@9766 a494cfbc-eb01-0410-851d-a64ba20cac60
127 lines
3.9 KiB
C
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
|