mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2026-01-05 09:00:54 +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>
|
#include <Milsko/Milsko.h>
|
||||||
|
|
||||||
int main(){
|
int main(){
|
||||||
MilskoWidget window = MilskoCreateWidget(MilskoWindowClass, NULL, 0, 0, 640, 480);
|
MilskoWidget window = MilskoCreateWidget(MilskoWindowClass, "main", NULL, 0, 0, 640, 480);
|
||||||
|
|
||||||
MilskoApply(window,
|
MilskoApply(window,
|
||||||
MilskoNwidth, 480 * 2,
|
MilskoNwidth, 480 * 2,
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
#include <Milsko/MachDep.h>
|
#include <Milsko/MachDep.h>
|
||||||
#include <Milsko/TypeDefs.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 MilskoDestroyWidget(MilskoWidget handle);
|
||||||
|
|
||||||
MILSKODECL void MilskoLoop(MilskoWidget handle);
|
MILSKODECL void MilskoLoop(MilskoWidget handle);
|
||||||
|
|||||||
@@ -34,6 +34,8 @@ typedef struct _MilskoClass* MilskoClass;
|
|||||||
typedef struct _Milsko* MilskoWidget;
|
typedef struct _Milsko* MilskoWidget;
|
||||||
|
|
||||||
typedef struct _Milsko {
|
typedef struct _Milsko {
|
||||||
|
char* name;
|
||||||
|
|
||||||
MilskoLL lowlevel;
|
MilskoLL lowlevel;
|
||||||
MilskoWidget parent;
|
MilskoWidget parent;
|
||||||
MilskoWidget* children;
|
MilskoWidget* children;
|
||||||
|
|||||||
@@ -11,9 +11,12 @@ static void llhandler(MilskoLL handle) {
|
|||||||
Dispatch(h, draw);
|
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));
|
MilskoWidget h = malloc(sizeof(*h));
|
||||||
|
|
||||||
|
h->name = malloc(strlen(name) + 1);
|
||||||
|
strcpy(h->name, name);
|
||||||
|
|
||||||
h->parent = parent;
|
h->parent = parent;
|
||||||
h->children = NULL;
|
h->children = NULL;
|
||||||
h->lowlevel = MilskoLLCreate(parent == NULL ? NULL : parent->lowlevel, x, y, width, height);
|
h->lowlevel = MilskoLLCreate(parent == NULL ? NULL : parent->lowlevel, x, y, width, height);
|
||||||
@@ -40,6 +43,8 @@ void MilskoDestroyWidget(MilskoWidget handle) {
|
|||||||
|
|
||||||
Dispatch(handle, destroy);
|
Dispatch(handle, destroy);
|
||||||
|
|
||||||
|
free(handle->name);
|
||||||
|
|
||||||
if(handle->children != NULL) {
|
if(handle->children != NULL) {
|
||||||
for(i = 0; i < arrlen(handle->children); i++) {
|
for(i = 0; i < arrlen(handle->children); i++) {
|
||||||
if(handle->children[i] == handle) {
|
if(handle->children[i] == handle) {
|
||||||
|
|||||||
Reference in New Issue
Block a user