kuroko: Pull in latest 1.4.0a1
This commit is contained in:
parent
fa3b341744
commit
f23b9c6d81
2
kuroko
2
kuroko
@ -1 +1 @@
|
|||||||
Subproject commit eef955935d3f0628f93883daac0ed3e3f5f5d468
|
Subproject commit ca1a490bbb1fecb1e03e6e7a73798153ef81f15f
|
@ -8,6 +8,7 @@
|
|||||||
#include <kuroko/vm.h>
|
#include <kuroko/vm.h>
|
||||||
#include <kuroko/value.h>
|
#include <kuroko/value.h>
|
||||||
#include <kuroko/object.h>
|
#include <kuroko/object.h>
|
||||||
|
#include <kuroko/util.h>
|
||||||
|
|
||||||
static KrkInstance * module;
|
static KrkInstance * module;
|
||||||
static KrkInstance * yctxInstance = NULL;
|
static KrkInstance * yctxInstance = NULL;
|
||||||
@ -242,7 +243,7 @@ static KrkValue _yutani_init(int argc, const KrkValue argv[], int hasKw) {
|
|||||||
yctxInstance = self;
|
yctxInstance = self;
|
||||||
krk_attachNamedObject(&module->fields, "_yutani_t", (KrkObj*)self);
|
krk_attachNamedObject(&module->fields, "_yutani_t", (KrkObj*)self);
|
||||||
|
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CHECK_YUTANI() \
|
#define CHECK_YUTANI() \
|
||||||
@ -555,7 +556,7 @@ static KrkValue _sprite_init(int argc, const KrkValue argv[], int hasKw) {
|
|||||||
self->ctx = init_graphics_sprite(&self->sprite);
|
self->ctx = init_graphics_sprite(&self->sprite);
|
||||||
krk_attachNamedValue(&self->inst.fields, "file", argv[1]);
|
krk_attachNamedValue(&self->inst.fields, "file", argv[1]);
|
||||||
|
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CHECK_WINDOW() \
|
#define CHECK_WINDOW() \
|
||||||
@ -619,7 +620,7 @@ static KrkValue _window_init(int argc, const KrkValue argv[], int hasKw) {
|
|||||||
krk_attachNamedValue(&_self->fields, "icon", icon);
|
krk_attachNamedValue(&_self->fields, "icon", icon);
|
||||||
krk_attachNamedValue(&_self->fields, "closed", BOOLEAN_VAL(0));
|
krk_attachNamedValue(&_self->fields, "closed", BOOLEAN_VAL(0));
|
||||||
|
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
static KrkValue _window_flip(int argc, const KrkValue argv[], int hasKw) {
|
static KrkValue _window_flip(int argc, const KrkValue argv[], int hasKw) {
|
||||||
@ -846,7 +847,7 @@ static KrkValue _yutani_color_init(int argc, const KrkValue argv[], int hasKw) {
|
|||||||
} else {
|
} else {
|
||||||
self->color = rgb(AS_INTEGER(argv[1]),AS_INTEGER(argv[2]),AS_INTEGER(argv[3]));
|
self->color = rgb(AS_INTEGER(argv[1]),AS_INTEGER(argv[2]),AS_INTEGER(argv[3]));
|
||||||
}
|
}
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
static KrkValue _yutani_color_repr(int argc, const KrkValue argv[], int hasKw) {
|
static KrkValue _yutani_color_repr(int argc, const KrkValue argv[], int hasKw) {
|
||||||
@ -907,7 +908,7 @@ static KrkValue _font_init(int argc, const KrkValue argv[], int hasKw) {
|
|||||||
|
|
||||||
self->fontColor = IS_NONE(fontColor) ? rgb(0,0,0) : ((struct YutaniColor*)AS_INSTANCE(fontColor))->color;
|
self->fontColor = IS_NONE(fontColor) ? rgb(0,0,0) : ((struct YutaniColor*)AS_INSTANCE(fontColor))->color;
|
||||||
|
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
static KrkValue _font_size(int argc, const KrkValue argv[], int hasKw) {
|
static KrkValue _font_size(int argc, const KrkValue argv[], int hasKw) {
|
||||||
@ -1007,7 +1008,7 @@ static KrkValue _MenuBar_init(int argc, const KrkValue argv[], int hasKw) {
|
|||||||
KrkValue dict = krk_dict_of(0,NULL, 0);
|
KrkValue dict = krk_dict_of(0,NULL, 0);
|
||||||
krk_attachNamedValue(&self->inst.fields, "set", dict);
|
krk_attachNamedValue(&self->inst.fields, "set", dict);
|
||||||
|
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
static KrkValue _MenuBar_place(int argc, const KrkValue argv[], int hasKw) {
|
static KrkValue _MenuBar_place(int argc, const KrkValue argv[], int hasKw) {
|
||||||
@ -1081,7 +1082,7 @@ static KrkValue _MenuList_init(int argc, const KrkValue argv[], int hasKw) {
|
|||||||
KrkValue list = krk_list_of(0,NULL,0);
|
KrkValue list = krk_list_of(0,NULL,0);
|
||||||
krk_attachNamedValue(&self->inst.fields, "entries", list);
|
krk_attachNamedValue(&self->inst.fields, "entries", list);
|
||||||
|
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
static KrkValue _MenuList_insert(int argc, const KrkValue argv[], int hasKw) {
|
static KrkValue _MenuList_insert(int argc, const KrkValue argv[], int hasKw) {
|
||||||
@ -1141,7 +1142,7 @@ static KrkValue _MenuEntry_init(int argc, const KrkValue argv[], int hasKw) {
|
|||||||
|
|
||||||
krk_attachNamedValue(&self->inst.fields, "callback", argv[2]);
|
krk_attachNamedValue(&self->inst.fields, "callback", argv[2]);
|
||||||
|
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO properties: icon, action, title */
|
/* TODO properties: icon, action, title */
|
||||||
@ -1172,7 +1173,7 @@ static KrkValue _MenuEntrySubmenu_init(int argc, const KrkValue argv[], int hasK
|
|||||||
|
|
||||||
self->menuEntry->_private = self;
|
self->menuEntry->_private = self;
|
||||||
|
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
static KrkValue _MenuEntrySeparator_init(int argc, const KrkValue argv[], int hasKw) {
|
static KrkValue _MenuEntrySeparator_init(int argc, const KrkValue argv[], int hasKw) {
|
||||||
@ -1181,7 +1182,7 @@ static KrkValue _MenuEntrySeparator_init(int argc, const KrkValue argv[], int ha
|
|||||||
struct MenuEntryClass * self = (struct MenuEntryClass*)AS_INSTANCE(argv[0]);
|
struct MenuEntryClass * self = (struct MenuEntryClass*)AS_INSTANCE(argv[0]);
|
||||||
self->menuEntry = menu_create_separator();
|
self->menuEntry = menu_create_separator();
|
||||||
self->menuEntry->_private = self;
|
self->menuEntry->_private = self;
|
||||||
return argv[0];
|
return NONE_VAL();
|
||||||
}
|
}
|
||||||
|
|
||||||
KrkValue krk_module_onload__yutani(void) {
|
KrkValue krk_module_onload__yutani(void) {
|
||||||
@ -1220,7 +1221,7 @@ KrkValue krk_module_onload__yutani(void) {
|
|||||||
*/
|
*/
|
||||||
YutaniColor = krk_createClass(module, "color", NULL);
|
YutaniColor = krk_createClass(module, "color", NULL);
|
||||||
YutaniColor->allocSize = sizeof(struct YutaniColor);
|
YutaniColor->allocSize = sizeof(struct YutaniColor);
|
||||||
YutaniColor->docstring = S("color(r,g,b,a=255)\n Representation of an RGB(A) color.");
|
KRK_DOC(YutaniColor,"color(r,g,b,a=255)\n Representation of an RGB(A) color.");
|
||||||
krk_defineNative(&YutaniColor->methods, "__init__", _yutani_color_init);
|
krk_defineNative(&YutaniColor->methods, "__init__", _yutani_color_init);
|
||||||
krk_defineNative(&YutaniColor->methods, "__repr__", _yutani_color_repr);
|
krk_defineNative(&YutaniColor->methods, "__repr__", _yutani_color_repr);
|
||||||
krk_defineNative(&YutaniColor->methods, "__str__", _yutani_color_str);
|
krk_defineNative(&YutaniColor->methods, "__str__", _yutani_color_str);
|
||||||
@ -1236,7 +1237,7 @@ KrkValue krk_module_onload__yutani(void) {
|
|||||||
*/
|
*/
|
||||||
Yutani = krk_createClass(module, "Yutani", NULL);
|
Yutani = krk_createClass(module, "Yutani", NULL);
|
||||||
Yutani->allocSize = sizeof(struct YutaniClass);
|
Yutani->allocSize = sizeof(struct YutaniClass);
|
||||||
Yutani->docstring = S("Yutani()\n Establish a connection to the compositor display server.");
|
KRK_DOC(Yutani, "Yutani()\n Establish a connection to the compositor display server.");
|
||||||
krk_defineNativeProperty(&Yutani->methods, "display_width", _yutani_display_width);
|
krk_defineNativeProperty(&Yutani->methods, "display_width", _yutani_display_width);
|
||||||
krk_defineNativeProperty(&Yutani->methods, "display_height", _yutani_display_height);
|
krk_defineNativeProperty(&Yutani->methods, "display_height", _yutani_display_height);
|
||||||
krk_defineNative(&Yutani->methods, "__repr__", _yutani_repr);
|
krk_defineNative(&Yutani->methods, "__repr__", _yutani_repr);
|
||||||
@ -1302,7 +1303,7 @@ KrkValue krk_module_onload__yutani(void) {
|
|||||||
*/
|
*/
|
||||||
YutaniWindow = krk_createClass(module, "Window", GraphicsContext);
|
YutaniWindow = krk_createClass(module, "Window", GraphicsContext);
|
||||||
YutaniWindow->allocSize = sizeof(struct WindowClass);
|
YutaniWindow->allocSize = sizeof(struct WindowClass);
|
||||||
YutaniWindow->docstring = S("Window(width,height,flags=0,title=None,icon=None,doublebuffer=False)\n"
|
KRK_DOC(YutaniWindow, "Window(width,height,flags=0,title=None,icon=None,doublebuffer=False)\n"
|
||||||
" Create a new window and initializes a graphics rendering context for it.");
|
" Create a new window and initializes a graphics rendering context for it.");
|
||||||
krk_defineNative(&YutaniWindow->methods, "__repr__", _window_repr);
|
krk_defineNative(&YutaniWindow->methods, "__repr__", _window_repr);
|
||||||
krk_defineNative(&YutaniWindow->methods, "__init__", _window_init);
|
krk_defineNative(&YutaniWindow->methods, "__init__", _window_init);
|
||||||
@ -1338,7 +1339,7 @@ KrkValue krk_module_onload__yutani(void) {
|
|||||||
YutaniSprite = krk_createClass(module, "Sprite", GraphicsContext);
|
YutaniSprite = krk_createClass(module, "Sprite", GraphicsContext);
|
||||||
YutaniSprite->allocSize = sizeof(struct YutaniSprite);
|
YutaniSprite->allocSize = sizeof(struct YutaniSprite);
|
||||||
YutaniSprite->_ongcsweep = _sprite_sweep;
|
YutaniSprite->_ongcsweep = _sprite_sweep;
|
||||||
YutaniSprite->docstring = S("Sprite(filename)\n Create a sprite from the requested texture file.");
|
KRK_DOC(YutaniSprite, "Sprite(filename)\n Create a sprite from the requested texture file.");
|
||||||
krk_defineNative(&YutaniSprite->methods, "__repr__", _sprite_repr);
|
krk_defineNative(&YutaniSprite->methods, "__repr__", _sprite_repr);
|
||||||
krk_defineNative(&YutaniSprite->methods, "__init__", _sprite_init);
|
krk_defineNative(&YutaniSprite->methods, "__init__", _sprite_init);
|
||||||
krk_finalizeClass(YutaniSprite);
|
krk_finalizeClass(YutaniSprite);
|
||||||
@ -1349,7 +1350,7 @@ KrkValue krk_module_onload__yutani(void) {
|
|||||||
*/
|
*/
|
||||||
YutaniFont = krk_createClass(module, "Font", NULL);
|
YutaniFont = krk_createClass(module, "Font", NULL);
|
||||||
YutaniFont->allocSize = sizeof(struct YutaniFont);
|
YutaniFont->allocSize = sizeof(struct YutaniFont);
|
||||||
YutaniFont->docstring = S("Font(type,size,gamma=1.7,stroke=0.75,color=color(0,0,0))\n"
|
KRK_DOC(YutaniFont, "Font(type,size,gamma=1.7,stroke=0.75,color=color(0,0,0))\n"
|
||||||
" Create a Font specification for rendering text.");
|
" Create a Font specification for rendering text.");
|
||||||
krk_defineNative(&YutaniFont->methods, "__init__", _font_init);
|
krk_defineNative(&YutaniFont->methods, "__init__", _font_init);
|
||||||
krk_defineNative(&YutaniFont->methods, "draw_string", _font_draw_string)->doc =
|
krk_defineNative(&YutaniFont->methods, "draw_string", _font_draw_string)->doc =
|
||||||
|
Loading…
Reference in New Issue
Block a user