comparison src/video/win32/SDL_ceddrawrender.c @ 3685:64ce267332c6

Switched from SDL_WindowID and SDL_TextureID to SDL_Window* and SDL_Texture* for code simplicity and improved performance.
author Sam Lantinga <slouken@libsdl.org>
date Thu, 21 Jan 2010 06:21:52 +0000
parents 83518f8fcd61
children f7b03b6838cb
comparison
equal deleted inserted replaced
3684:cc564f08884f 3685:64ce267332c6
389 void 389 void
390 DDRAW_AddRenderDriver(_THIS) 390 DDRAW_AddRenderDriver(_THIS)
391 { 391 {
392 SDL_VideoData *data = (SDL_VideoData *) _this->driverdata; 392 SDL_VideoData *data = (SDL_VideoData *) _this->driverdata;
393 SDL_RendererInfo *info = &DDRAW_RenderDriver.info; 393 SDL_RendererInfo *info = &DDRAW_RenderDriver.info;
394 SDL_DisplayMode *mode = &SDL_CurrentDisplay.desktop_mode; 394 SDL_DisplayMode *mode = &SDL_CurrentDisplay->desktop_mode;
395 395
396 if (data->ddraw) { 396 if (data->ddraw) {
397 int i; 397 int i;
398 int formats[] = { 398 int formats[] = {
399 SDL_PIXELFORMAT_INDEX8, 399 SDL_PIXELFORMAT_INDEX8,
435 } 435 }
436 436
437 SDL_Renderer * 437 SDL_Renderer *
438 DDRAW_CreateRenderer(SDL_Window * window, Uint32 flags) 438 DDRAW_CreateRenderer(SDL_Window * window, Uint32 flags)
439 { 439 {
440 SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); 440 SDL_VideoDisplay *display = window->display;
441 SDL_VideoData *videodata = (SDL_VideoData *) display->device->driverdata; 441 SDL_VideoData *videodata = (SDL_VideoData *) display->device->driverdata;
442 SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata; 442 SDL_WindowData *windowdata = (SDL_WindowData *) window->driverdata;
443 SDL_Renderer *renderer; 443 SDL_Renderer *renderer;
444 DDRAW_RenderData *data; 444 DDRAW_RenderData *data;
445 HRESULT result; 445 HRESULT result;
477 renderer->RenderCopy = DDRAW_RenderCopy; 477 renderer->RenderCopy = DDRAW_RenderCopy;
478 renderer->RenderPresent = DDRAW_RenderPresent; 478 renderer->RenderPresent = DDRAW_RenderPresent;
479 renderer->DestroyTexture = DDRAW_DestroyTexture; 479 renderer->DestroyTexture = DDRAW_DestroyTexture;
480 renderer->DestroyRenderer = DDRAW_DestroyRenderer; 480 renderer->DestroyRenderer = DDRAW_DestroyRenderer;
481 renderer->info = DDRAW_RenderDriver.info; 481 renderer->info = DDRAW_RenderDriver.info;
482 renderer->window = window->id; 482 renderer->window = window;
483 renderer->driverdata = data; 483 renderer->driverdata = data;
484 484
485 renderer->info.flags = SDL_RENDERER_ACCELERATED; 485 renderer->info.flags = SDL_RENDERER_ACCELERATED;
486 486
487 SDL_zero(ddsd); 487 SDL_zero(ddsd);
566 static int 566 static int
567 DDRAW_DisplayModeChanged(SDL_Renderer * renderer) 567 DDRAW_DisplayModeChanged(SDL_Renderer * renderer)
568 { 568 {
569 //TODO implement 569 //TODO implement
570 /*D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata; 570 /*D3D_RenderData *data = (D3D_RenderData *) renderer->driverdata;
571 SDL_Window *window = SDL_GetWindowFromID(renderer->window); 571 SDL_Window *window = renderer->window;
572 SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); 572 SDL_VideoDisplay *display = window->display;
573 573
574 data->pparams.BackBufferWidth = window->w; 574 data->pparams.BackBufferWidth = window->w;
575 data->pparams.BackBufferHeight = window->h; 575 data->pparams.BackBufferHeight = window->h;
576 if (window->flags & SDL_WINDOW_FULLSCREEN) { 576 if (window->flags & SDL_WINDOW_FULLSCREEN) {
577 data->pparams.BackBufferFormat = 577 data->pparams.BackBufferFormat =
585 585
586 static int 586 static int
587 DDRAW_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture) 587 DDRAW_CreateTexture(SDL_Renderer * renderer, SDL_Texture * texture)
588 { 588 {
589 DDRAW_RenderData *renderdata = (DDRAW_RenderData *) renderer->driverdata; 589 DDRAW_RenderData *renderdata = (DDRAW_RenderData *) renderer->driverdata;
590 SDL_Window *window = SDL_GetWindowFromID(renderer->window); 590 SDL_Window *window = renderer->window;
591 SDL_VideoDisplay *display = SDL_GetDisplayFromWindow(window); 591 SDL_VideoDisplay *display = window->display;
592 Uint32 display_format = display->current_mode.format; 592 Uint32 display_format = display->current_mode.format;
593 DDRAW_TextureData *data; 593 DDRAW_TextureData *data;
594 DDSURFACEDESC ddsd; 594 DDSURFACEDESC ddsd;
595 HRESULT result; 595 HRESULT result;
596 596