mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2025-12-31 06:30:52 +00:00
give widgets a name
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@22 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
#include <Milsko/Milsko.h>
|
||||
|
||||
int main(){
|
||||
MilskoWidget window = MilskoCreateWidget(MilskoWindowClass, NULL, 0, 0, 640, 480);
|
||||
MilskoWidget window = MilskoCreateWidget(MilskoWindowClass, "main", NULL, 0, 0, 640, 480);
|
||||
|
||||
MilskoApply(window,
|
||||
MilskoNwidth, 480 * 2,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <Milsko/MachDep.h>
|
||||
#include <Milsko/TypeDefs.h>
|
||||
|
||||
MILSKODECL MilskoWidget MilskoCreateWidget(MilskoClass class, MilskoWidget parent, int x, int y, unsigned int width, unsigned int height);
|
||||
MILSKODECL MilskoWidget MilskoCreateWidget(MilskoClass class, const char* name, MilskoWidget parent, int x, int y, unsigned int width, unsigned int height);
|
||||
MILSKODECL void MilskoDestroyWidget(MilskoWidget handle);
|
||||
|
||||
MILSKODECL void MilskoLoop(MilskoWidget handle);
|
||||
|
||||
@@ -34,6 +34,8 @@ typedef struct _MilskoClass* MilskoClass;
|
||||
typedef struct _Milsko* MilskoWidget;
|
||||
|
||||
typedef struct _Milsko {
|
||||
char* name;
|
||||
|
||||
MilskoLL lowlevel;
|
||||
MilskoWidget parent;
|
||||
MilskoWidget* children;
|
||||
|
||||
@@ -11,9 +11,12 @@ static void llhandler(MilskoLL handle) {
|
||||
Dispatch(h, draw);
|
||||
}
|
||||
|
||||
MilskoWidget MilskoCreateWidget(MilskoClass class, MilskoWidget parent, int x, int y, unsigned int width, unsigned int height) {
|
||||
MilskoWidget MilskoCreateWidget(MilskoClass class, const char* name, MilskoWidget parent, int x, int y, unsigned int width, unsigned int height) {
|
||||
MilskoWidget h = malloc(sizeof(*h));
|
||||
|
||||
h->name = malloc(strlen(name) + 1);
|
||||
strcpy(h->name, name);
|
||||
|
||||
h->parent = parent;
|
||||
h->children = NULL;
|
||||
h->lowlevel = MilskoLLCreate(parent == NULL ? NULL : parent->lowlevel, x, y, width, height);
|
||||
@@ -40,6 +43,8 @@ void MilskoDestroyWidget(MilskoWidget handle) {
|
||||
|
||||
Dispatch(handle, destroy);
|
||||
|
||||
free(handle->name);
|
||||
|
||||
if(handle->children != NULL) {
|
||||
for(i = 0; i < arrlen(handle->children); i++) {
|
||||
if(handle->children[i] == handle) {
|
||||
|
||||
Reference in New Issue
Block a user