some work on skeleton; fixed mesh bug
This commit is contained in:
@ -31,6 +31,21 @@ TerminateRW(void)
|
||||
rw::Engine::term();
|
||||
}
|
||||
|
||||
void
|
||||
CameraSize(Camera *cam, Rect *r)
|
||||
{
|
||||
if(cam->frameBuffer){
|
||||
cam->frameBuffer->destroy();
|
||||
cam->frameBuffer = nil;
|
||||
}
|
||||
if(cam->zBuffer){
|
||||
cam->zBuffer->destroy();
|
||||
cam->zBuffer = nil;
|
||||
}
|
||||
cam->frameBuffer = Raster::create(r->w, r->h, 0, Raster::CAMERA);
|
||||
cam->zBuffer = Raster::create(r->w, r->h, 0, Raster::ZBUFFER);
|
||||
}
|
||||
|
||||
EventStatus
|
||||
EventHandler(Event e, void *param)
|
||||
{
|
||||
|
@ -69,6 +69,7 @@ enum Event
|
||||
PLUGINATTACH,
|
||||
KEYDOWN,
|
||||
KEYUP,
|
||||
RESIZE,
|
||||
IDLE,
|
||||
QUIT
|
||||
};
|
||||
@ -91,6 +92,7 @@ extern Args args;
|
||||
|
||||
bool InitRW(void);
|
||||
void TerminateRW(void);
|
||||
void CameraSize(Camera *cam, Rect *r);
|
||||
EventStatus EventHandler(Event e, void *param);
|
||||
|
||||
}
|
||||
|
@ -63,6 +63,8 @@ static void KeyDown(int key) { EventHandler(KEYDOWN, &key); }
|
||||
LRESULT CALLBACK
|
||||
WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static int resizing = 0;
|
||||
|
||||
switch(msg){
|
||||
case WM_DESTROY:
|
||||
PostQuitMessage(0);
|
||||
@ -98,6 +100,15 @@ WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
KeyUp(keymap[wParam]);
|
||||
break;
|
||||
|
||||
case WM_SIZE:
|
||||
rw::Rect r;
|
||||
r.x = 0;
|
||||
r.y = 0;
|
||||
r.w = LOWORD(lParam);
|
||||
r.h = HIWORD(lParam);
|
||||
EventHandler(RESIZE, &r);
|
||||
break;
|
||||
|
||||
case WM_CLOSE:
|
||||
DestroyWindow(hwnd);
|
||||
break;
|
||||
|
Reference in New Issue
Block a user