Loading [MathJax]/extensions/MathMenu.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
DEMOWin.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_DEMOWIN_H_
2#define _DOLPHIN_DEMOWIN_H_
3
4#include <dolphin/gx.h>
5#include <dolphin/pad.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11#define DEMOWIN_ITEM_CAP 0
12#define DEMOWIN_ITEM_BKGND 1
13#define DEMOWIN_ITEM_BORDER 2
14#define DEMOWIN_ITEM_DEFAULT 3
15
16// flags
17#define DEMOWIN_FLAGS_INIT (1 << 0)
18#define DEMOWIN_FLAGS_OPENED (1 << 1)
19
20typedef struct {
21 /* 0x00 */ PADStatus pads[4];
22 /* 0x30 */ u32 button[4];
23 /* 0x40 */ u32 old_button[4];
24 /* 0x50 */ u32 changed_button[4];
25 /* 0x60 */ u32 repeat_button[4];
26 /* 0x70 */ u32 repeat_ctr[4];
28
30typedef struct STRUCT_DEMOWIN {
31 /* 0x00 */ s32 x1;
32 /* 0x04 */ s32 y1;
33 /* 0x08 */ s32 x2;
34 /* 0x0C */ s32 y2;
35 /* 0x10 */ u32 priority;
36 /* 0x14 */ u32 flags;
37 /* 0x18 */ u16 x_cal;
38 /* 0x1A */ u16 y_cal;
39 /* 0x1C */ u16 pixel_width;
40 /* 0x1E */ u16 pixel_height;
41 /* 0x20 */ u16 char_width;
42 /* 0x22 */ u16 char_height;
44 /* 0x26 */ u16 total_lines;
46 /* 0x2A */ u16 curr_output_col;
47 /* 0x2C */ u16 curr_view_line;
48 /* 0x2E */ s16 cursor_line;
49 /* 0x30 */ char* caption;
50 /* 0x34 */ u8* buffer;
51 /* 0x38 */ GXColor bkgnd;
52 /* 0x3C */ GXColor cap;
53 /* 0x40 */ GXColor border;
54 /* 0x44 */ void (*refresh)(DEMOWindow *);
55 /* 0x48 */ DEMOWindow* next;
56 /* 0x4C */ DEMOWindow* prev;
57 /* 0x50 */ void* parent;
58 /* 0x54 */ DEMOWinPadInfo pad;
60
61typedef struct STRUCT_MENU DEMOWinMenu;
62typedef struct STRUCT_MENU_ITEM {
63 /* 0x00 */ char* name;
64 /* 0x04 */ u32 flags;
65 /* 0x08 */ void (*function)(DEMOWinMenu*, u32, u32*);
66 /* 0x0C */ DEMOWinMenu* link;
68
69typedef struct STRUCT_MENU {
70 /* 0x00 */ char* title;
71 /* 0x04 */ DEMOWindow* handle;
74 /* 0x10 */ u32 flags;
75 /* 0x14 */ void (*cb_open)(DEMOWinMenu*, u32);
76 /* 0x18 */ void (*cb_move)(DEMOWinMenu*, u32);
77 /* 0x1C */ void (*cb_select)(DEMOWinMenu*, u32);
78 /* 0x20 */ void (*cb_cancel)(DEMOWinMenu*, u32);
80 /* 0x28 */ s32 num_items;
81 /* 0x2C */ u32 max_str_len;
82 /* 0x30 */ s32 curr_pos;
83 /* 0x34 */ s32 display_pos;
85
86typedef struct STRUCT_LISTBOX_ITEM {
87 /* 0x00 */ char* name; // offset 0x0, size 0x4
88 /* 0x04 */ u32 flags; // offset 0x4, size 0x4
90
91typedef struct STRUCT_LISTBOX {
92 /* 0x00 */ char* title; // offset 0x0, size 0x4
93 /* 0x04 */ DEMOWindow* handle; // offset 0x4, size 0x4
94 /* 0x08 */ DEMOWinListboxItem* items; // offset 0x8, size 0x4
95 /* 0x0C */ s32 max_display_items; // offset 0xC, size 0x4
96 /* 0x10 */ u32 flags; // offset 0x10, size 0x4
97 /* 0x14 */ s32 num_display_items; // offset 0x14, size 0x4
98 /* 0x18 */ s32 num_items; // offset 0x18, size 0x4
99 /* 0x1C */ u32 max_str_len; // offset 0x1C, size 0x4
100 /* 0x20 */ s32 curr_pos; // offset 0x20, size 0x4
101 /* 0x24 */ s32 display_pos; // offset 0x24, size 0x4
102 /* 0x28 */ int cursor_state; // offset 0x28, size 0x4
104
105void DEMOWinInit(void);
106DEMOWindow* DEMOWinCreateWindow(s32 x1, s32 y1, s32 x2, s32 y2, char* caption, u16 scroll, void* func);
107void DEMOWinDestroyWindow(DEMOWindow* handle);
108void DEMOWinOpenWindow(DEMOWindow* handle);
109void DEMOWinCloseWindow(DEMOWindow* handle);
110void DEMOWinSetWindowColor(DEMOWindow* handle, u32 item, u8 r, u8 g, u8 b, u8 a);
111void DEMOWinLogPrintf(DEMOWindow* handle, char* fmt, ...);
112void DEMOWinPrintfXY(DEMOWindow* handle, u16 col, u16 row, char* fmt, ...);
113void DEMOWinScrollWindow(DEMOWindow* handle, u32 dir);
114void DEMOWinBringToFront(DEMOWindow* handle);
115void DEMOWinSendToBack(DEMOWindow* handle);
116void DEMOWinClearRow(DEMOWindow* handle, u16 row);
117void DEMOWinClearWindow(DEMOWindow* handle);
118void DEMOWinClearBuffer(DEMOWindow* handle);
119void DEMOWinRefresh(void);
122u32 DEMOWinMenuChild(DEMOWinMenu* menu, int child_flag);
125void DEMOWinSetRepeat(u32 threshold, u32 rate);
126void DEMOWinResetRepeat(void);
132
133#ifdef __cplusplus
134}
135#endif
136
137#endif // _DOLPHIN_DEMOWIN_H_
void DEMOWinDestroyWindow(DEMOWindow *handle)
Definition DEMOWin.c:71
struct STRUCT_MENU DEMOWinMenu
Definition DEMOWin.h:61
void DEMOWinResetRepeat(void)
Definition DEMOWin.c:853
void DEMOWinDestroyListWindow(DEMOWinListbox *list)
Definition DEMOWin.c:888
void DEMOWinPrintfXY(DEMOWindow *handle, u16 col, u16 row, char *fmt,...)
Definition DEMOWin.c:175
void DEMOWinSendToBack(DEMOWindow *handle)
Definition DEMOWin.c:251
void DEMOWinBringToFront(DEMOWindow *handle)
Definition DEMOWin.c:238
void DEMOWinScrollWindow(DEMOWindow *handle, u32 dir)
Definition DEMOWin.c:202
void DEMOWinClearBuffer(DEMOWindow *handle)
Definition DEMOWin.c:298
void DEMOWinInit(void)
Definition DEMOWin.c:24
void DEMOWinRefresh(void)
Definition DEMOWin.c:307
void DEMOWinPadInit(DEMOWinPadInfo *p)
Definition DEMOWin.c:760
s32 DEMOWinListScrollList(DEMOWinListbox *list, u32 dir)
Definition DEMOWin.c:934
void DEMOWinSetWindowColor(DEMOWindow *handle, u32 item, u8 r, u8 g, u8 b, u8 a)
Definition DEMOWin.c:91
struct STRUCT_LISTBOX_ITEM DEMOWinListboxItem
void DEMOWinSetRepeat(u32 threshold, u32 rate)
Definition DEMOWin.c:848
void DEMOWinPadRead(DEMOWinPadInfo *p)
Definition DEMOWin.c:771
DEMOWinListbox * DEMOWinCreateListWindow(DEMOWinListbox *list, u16 x, u16 y)
Definition DEMOWin.c:858
void DEMOWinCloseWindow(DEMOWindow *handle)
Definition DEMOWin.c:86
s32 DEMOWinListMoveCursor(DEMOWinListbox *list, u32 dir)
Definition DEMOWin.c:965
u32 DEMOWinMenuChild(DEMOWinMenu *menu, int child_flag)
Definition DEMOWin.c:586
DEMOWindow * DEMOWinCreateWindow(s32 x1, s32 y1, s32 x2, s32 y2, char *caption, u16 scroll, void *func)
Definition DEMOWin.c:32
void DEMOWinClearRow(DEMOWindow *handle, u16 row)
Definition DEMOWin.c:256
DEMOWinMenu * DEMOWinCreateMenuWindow(DEMOWinMenu *menu, u16 x, u16 y)
Definition DEMOWin.c:548
struct STRUCT_MENU_ITEM DEMOWinMenuItem
void DEMOWinClearWindow(DEMOWindow *handle)
Definition DEMOWin.c:278
struct STRUCT_LISTBOX DEMOWinListbox
void DEMOWinDestroyMenuWindow(DEMOWinMenu *menu)
Definition DEMOWin.c:578
void DEMOWinListSetCursor(DEMOWinListbox *list, int x)
Definition DEMOWin.c:930
struct STRUCT_DEMOWIN DEMOWindow
Definition DEMOWin.h:29
void DEMOWinLogPrintf(DEMOWindow *handle, char *fmt,...)
Definition DEMOWin.c:136
void DEMOWinOpenWindow(DEMOWindow *handle)
Definition DEMOWin.c:81
r
Definition e_acos.c:100
p
Definition e_acos.c:98
double x double x
Definition e_atan2.c:58
double x double y
Definition e_atan2.c:58
double y1
Definition e_pow.c:163
a
Definition k_cos.c:89
va_list list
Definition os.h:192
Definition DEMOWin.h:20
Definition pad.h:49
Definition DEMOWin.h:30
u16 char_width
Definition DEMOWin.h:41
char * caption
Definition DEMOWin.h:49
u32 flags
Definition DEMOWin.h:36
u32 priority
Definition DEMOWin.h:35
u16 x_cal
Definition DEMOWin.h:37
void * parent
Definition DEMOWin.h:57
u16 curr_output_col
Definition DEMOWin.h:46
u16 pixel_height
Definition DEMOWin.h:40
GXColor border
Definition DEMOWin.h:53
DEMOWindow * next
Definition DEMOWin.h:55
u16 char_height
Definition DEMOWin.h:42
s16 cursor_line
Definition DEMOWin.h:48
u16 num_scroll_lines
Definition DEMOWin.h:43
DEMOWindow * prev
Definition DEMOWin.h:56
void(* refresh)(DEMOWindow *)
Definition DEMOWin.h:54
GXColor bkgnd
Definition DEMOWin.h:51
u16 total_lines
Definition DEMOWin.h:44
u8 * buffer
Definition DEMOWin.h:50
u16 pixel_width
Definition DEMOWin.h:39
GXColor cap
Definition DEMOWin.h:52
u16 curr_output_line
Definition DEMOWin.h:45
s32 x2
Definition DEMOWin.h:33
u16 curr_view_line
Definition DEMOWin.h:47
s32 y2
Definition DEMOWin.h:34
s32 y1
Definition DEMOWin.h:32
DEMOWinPadInfo pad
Definition DEMOWin.h:58
s32 x1
Definition DEMOWin.h:31
u16 y_cal
Definition DEMOWin.h:38
Definition DEMOWin.h:86
char * name
Definition DEMOWin.h:87
u32 flags
Definition DEMOWin.h:88
Definition DEMOWin.h:91
s32 num_items
Definition DEMOWin.h:98
u32 max_str_len
Definition DEMOWin.h:99
DEMOWinListboxItem * items
Definition DEMOWin.h:94
u32 flags
Definition DEMOWin.h:96
int cursor_state
Definition DEMOWin.h:102
s32 num_display_items
Definition DEMOWin.h:97
char * title
Definition DEMOWin.h:92
s32 display_pos
Definition DEMOWin.h:101
s32 max_display_items
Definition DEMOWin.h:95
s32 curr_pos
Definition DEMOWin.h:100
DEMOWindow * handle
Definition DEMOWin.h:93
Definition DEMOWin.h:62
u32 flags
Definition DEMOWin.h:64
char * name
Definition DEMOWin.h:63
DEMOWinMenu * link
Definition DEMOWin.h:66
void(* function)(DEMOWinMenu *, u32, u32 *)
Definition DEMOWin.h:65
Definition DEMOWin.h:69
s32 num_items
Definition DEMOWin.h:80
s32 max_display_items
Definition DEMOWin.h:73
u32 flags
Definition DEMOWin.h:74
s32 display_pos
Definition DEMOWin.h:83
s32 curr_pos
Definition DEMOWin.h:82
DEMOWindow * handle
Definition DEMOWin.h:71
void(* cb_open)(DEMOWinMenu *, u32)
Definition DEMOWin.h:75
char * title
Definition DEMOWin.h:70
void(* cb_select)(DEMOWinMenu *, u32)
Definition DEMOWin.h:77
DEMOWinMenuItem * items
Definition DEMOWin.h:72
void(* cb_move)(DEMOWinMenu *, u32)
Definition DEMOWin.h:76
s32 num_display_items
Definition DEMOWin.h:79
void(* cb_cancel)(DEMOWinMenu *, u32)
Definition DEMOWin.h:78
u32 max_str_len
Definition DEMOWin.h:81
Definition d_menu_dmap_map.cpp:90
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5