This commit is contained in:
Nishi 2025-12-19 15:18:15 +09:00
commit 3aa9facf8e
Signed by: nishi
GPG key ID: 27EF69B208EB9343
17 changed files with 17023 additions and 76 deletions

View file

@ -2,11 +2,11 @@
MwWidget root, window, opengl;
static const MwRect sizes[] ={
{0, 0, 640, 480},
{0, 0, 800, 600},
{0, 0, 1024, 768},
{0, 0, 1280, 1024},
static const MwRect sizes[] = {
{0, 0, 640, 480},
{0, 0, 800, 600},
{0, 0, 1024, 768},
{0, 0, 1280, 1024},
};
static void resize(MwWidget handle, void* user, void* client) {
@ -18,7 +18,7 @@ static void resize(MwWidget handle, void* user, void* client) {
MwNheight, wh,
NULL);
glViewport(0, 0, ww, wh);
gl_resize(ww, wh);
}
static void tick(MwWidget handle, void* user, void* client) {
@ -31,10 +31,16 @@ static void* gl_load(const char* name) {
return MwOpenGLGetProcAddress(opengl, name);
}
void scene_change(int scene) {
gl_scene = scene;
ui_scene();
}
int main(int argc, char** argv) {
MwSizeHints sh;
MwRect rc;
int i;
MwRect rc;
int i;
MwLibraryInit();
@ -48,29 +54,29 @@ int main(int argc, char** argv) {
MwGetScreenSize(window, &rc);
for(i = sizeof(sizes) / sizeof(sizes[0]) - 1; i >= 0; i--){
if(sizes[i].width < rc.width && sizes[i].height < rc.height){
for(i = sizeof(sizes) / sizeof(sizes[0]) - 1; i >= 0; i--) {
if(sizes[i].width < rc.width && sizes[i].height < rc.height) {
sh.min_width = sh.max_width = sizes[i].width;
sh.min_height = sh.max_height = sizes[i].height;
break;
}
}
for(i = 1; i < argc; i++){
if(strcmp(argv[i], "--width") == 0 && (i + 1) < argc){
for(i = 1; i < argc; i++) {
if(strcmp(argv[i], "--width") == 0 && (i + 1) < argc) {
sh.min_width = sh.max_width = atoi(argv[i + 1]);
}else if(strcmp(argv[i], "--height") == 0 && (i + 1) < argc){
} else if(strcmp(argv[i], "--height") == 0 && (i + 1) < argc) {
sh.min_height = sh.max_height = atoi(argv[i + 1]);
}
}
MwVaApply(window,
MwNsizeHints, &sh,
MwNx, (rc.width - sh.max_width) / 2,
MwNy, (rc.height - sh.max_height) / 2,
MwNwidth, sh.max_width,
MwNheight, sh.max_height,
NULL);
MwNsizeHints, &sh,
MwNx, (rc.width - sh.max_width) / 2,
MwNy, (rc.height - sh.max_height) / 2,
MwNwidth, sh.max_width,
MwNheight, sh.max_height,
NULL);
opengl = MwCreateWidget(MwOpenGLClass, "opengl", window, 0, 0, sh.max_width, sh.max_height);
@ -83,6 +89,8 @@ int main(int argc, char** argv) {
gl_init();
ui_init();
scene_change(AF_SCENE_MAIN);
MwAddUserHandler(window, MwNresizeHandler, resize, NULL);
MwAddUserHandler(root, MwNtickHandler, tick, NULL);