mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2025-12-31 06:30:52 +00:00
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@532 b9cfdab3-6d41-4d17-bbe4-086880011989
160 lines
3.2 KiB
C
160 lines
3.2 KiB
C
/* $Id$ */
|
|
/*!
|
|
* @file Mw/TypeDefs.h
|
|
* @brief Type definitions
|
|
*/
|
|
#ifndef __MW_TYPEDEFS_H__
|
|
#define __MW_TYPEDEFS_H__
|
|
|
|
#include <Mw/MachDep.h>
|
|
#include <Mw/BaseTypes.h>
|
|
|
|
typedef struct _MwClass * MwClass, MwClassRec;
|
|
typedef struct _MwIntegerKeyValue MwIntegerKeyValue;
|
|
typedef struct _MwTextKeyValue MwTextKeyValue;
|
|
typedef struct _MwUserHandlerKeyValue MwUserHandlerKeyValue;
|
|
typedef struct _MwVoidKeyValue MwVoidKeyValue;
|
|
typedef struct _MwMenu* MwMenu;
|
|
typedef struct _MwEntry* MwEntry;
|
|
typedef struct _MwViewport* MwViewport;
|
|
typedef struct _MwListBox* MwListBox;
|
|
typedef struct _MwListBoxEntry MwListBoxEntry;
|
|
typedef struct _MwDirectoryEntry MwDirectoryEntry;
|
|
typedef struct _MwListBoxPacket MwListBoxPacket;
|
|
#ifdef _MILSKO
|
|
typedef struct _MwWidget* MwWidget;
|
|
#else
|
|
typedef void* MwWidget;
|
|
#endif
|
|
typedef void (*MwHandler)(MwWidget handle);
|
|
typedef int (*MwHandlerWithStatus)(MwWidget handle);
|
|
typedef void (*MwHandlerProp)(MwWidget handle, const char* key);
|
|
typedef void (*MwHandlerKey)(MwWidget handle, int key);
|
|
typedef void (*MwHandlerMouse)(MwWidget handle, void* ptr);
|
|
typedef void (*MwUserHandler)(MwWidget handle, void* user_data, void* call_data);
|
|
typedef void (*MwErrorHandler)(int code, const char* message, void* user_data);
|
|
typedef void (*MwHandlerExecute)(MwWidget handle, const char* name, void* out, va_list args);
|
|
|
|
struct _MwTextKeyValue {
|
|
char* key;
|
|
char* value;
|
|
};
|
|
|
|
struct _MwIntegerKeyValue {
|
|
char* key;
|
|
int value;
|
|
};
|
|
|
|
struct _MwUserHandlerKeyValue {
|
|
char* key;
|
|
void* user_data;
|
|
MwUserHandler value;
|
|
};
|
|
|
|
struct _MwVoidKeyValue {
|
|
char* key;
|
|
void* value;
|
|
};
|
|
|
|
#include <Mw/LowLevel.h>
|
|
|
|
#ifdef _MILSKO
|
|
struct _MwWidget {
|
|
char* name;
|
|
MwLLColor bgcolor;
|
|
int dark_theme;
|
|
|
|
MwLL lowlevel;
|
|
MwWidget parent;
|
|
MwWidget* children;
|
|
MwClass widget_class;
|
|
|
|
int pressed;
|
|
MwPoint mouse_point;
|
|
int close;
|
|
jmp_buf before_step;
|
|
int prop_event;
|
|
|
|
void* internal;
|
|
void* opaque;
|
|
void (*draw_inject)(MwWidget handle);
|
|
|
|
MwIntegerKeyValue* integer;
|
|
MwTextKeyValue* text;
|
|
MwUserHandlerKeyValue* handler;
|
|
MwVoidKeyValue* data;
|
|
|
|
MwWidget* destroy_queue;
|
|
MwWidget* tick_list;
|
|
|
|
int destroyed;
|
|
};
|
|
#endif
|
|
|
|
struct _MwMenu {
|
|
char* name;
|
|
int keep;
|
|
MwWidget wsub;
|
|
MwMenu* sub;
|
|
};
|
|
|
|
struct _MwEntry {
|
|
int cursor;
|
|
int right;
|
|
MwPoint mouse;
|
|
};
|
|
|
|
struct _MwViewport {
|
|
MwWidget vscroll;
|
|
MwWidget hscroll;
|
|
MwWidget frame;
|
|
MwWidget inframe;
|
|
};
|
|
|
|
struct _MwListBoxEntry {
|
|
char** name;
|
|
MwLLPixmap pixmap;
|
|
};
|
|
|
|
struct _MwListBox {
|
|
MwWidget vscroll;
|
|
MwWidget frame;
|
|
MwListBoxEntry* list;
|
|
int selected;
|
|
unsigned long click_time;
|
|
int pressed;
|
|
int* width;
|
|
};
|
|
|
|
struct _MwDirectoryEntry {
|
|
char* name;
|
|
int type;
|
|
MwOffset size;
|
|
time_t mtime;
|
|
};
|
|
|
|
struct _MwListBoxPacket {
|
|
MwLLPixmap* pixmaps;
|
|
char*** names;
|
|
};
|
|
|
|
struct _MwClass {
|
|
MwHandlerWithStatus create;
|
|
MwHandler destroy;
|
|
MwHandler draw;
|
|
MwHandler click;
|
|
MwHandler parent_resize;
|
|
MwHandlerProp prop_change;
|
|
MwHandler mouse_move;
|
|
MwHandlerMouse mouse_up;
|
|
MwHandlerMouse mouse_down;
|
|
MwHandlerKey key;
|
|
MwHandlerExecute execute;
|
|
void* reserved2;
|
|
void* reserved3;
|
|
void* reserved4;
|
|
void* reserved5;
|
|
};
|
|
|
|
#endif
|