Mercurial > sdl-ios-xcode
comparison src/video/directfb/SDL_DirectFB_render.c @ 3037:490f3e4fe753
Added DFB_VERSION_ATLEAST macro
First attempt at replacing MakeSubSurface for pre 1.2.0 ==> Scaling not yet working
author | Couriersud <couriersud@arcor.de> |
---|---|
date | Tue, 13 Jan 2009 21:17:38 +0000 |
parents | d72a0dd80e8b |
children | c73a5f8a03d2 |
comparison
equal
deleted
inserted
replaced
3036:76a1692fcec5 | 3037:490f3e4fe753 |
---|---|
138 void *pixels; | 138 void *pixels; |
139 int pitch; | 139 int pitch; |
140 IDirectFBPalette *palette; | 140 IDirectFBPalette *palette; |
141 SDL_VideoDisplay *display; | 141 SDL_VideoDisplay *display; |
142 SDL_DirtyRectList dirty; | 142 SDL_DirtyRectList dirty; |
143 #if (DIRECTFB_MAJOR_VERSION == 1) && (DIRECTFB_MINOR_VERSION >= 2) | 143 #if (DFB_VERSION_ATLEAST(1,2,0)) |
144 DFBSurfaceRenderOptions render_options; | 144 DFBSurfaceRenderOptions render_options; |
145 #endif | 145 #endif |
146 } DirectFB_TextureData; | 146 } DirectFB_TextureData; |
147 | 147 |
148 static __inline__ void | 148 static __inline__ void |
385 case SDL_PIXELFORMAT_INDEX1MSB: | 385 case SDL_PIXELFORMAT_INDEX1MSB: |
386 return DSPF_UNKNOWN; | 386 return DSPF_UNKNOWN; |
387 case SDL_PIXELFORMAT_INDEX4MSB: | 387 case SDL_PIXELFORMAT_INDEX4MSB: |
388 return DSPF_UNKNOWN; | 388 return DSPF_UNKNOWN; |
389 case SDL_PIXELFORMAT_RGB444: | 389 case SDL_PIXELFORMAT_RGB444: |
390 #if (DIRECTFB_MAJOR_VERSION == 1) && (DIRECTFB_MINOR_VERSION >= 2) | 390 #if (DFB_VERSION_ATLEAST(1,2,0)) |
391 return DSPF_RGB444; | 391 return DSPF_RGB444; |
392 #else | 392 #else |
393 return DSPF_UNKNOWN; | 393 return DSPF_UNKNOWN; |
394 #endif | 394 #endif |
395 case SDL_PIXELFORMAT_BGR24: | 395 case SDL_PIXELFORMAT_BGR24: |
541 SDL_DFB_CHECKERR(data->surface->GetPalette(data->surface, | 541 SDL_DFB_CHECKERR(data->surface->GetPalette(data->surface, |
542 &data->palette)); | 542 &data->palette)); |
543 } | 543 } |
544 | 544 |
545 } | 545 } |
546 #if (DIRECTFB_MAJOR_VERSION == 1) && (DIRECTFB_MINOR_VERSION >= 2) | 546 #if (DFB_VERSION_ATLEAST(1,2,0)) |
547 data->render_options = DSRO_NONE; | 547 data->render_options = DSRO_NONE; |
548 #endif | 548 #endif |
549 | 549 |
550 if (texture->access == SDL_TEXTUREACCESS_STREAMING) { | 550 if (texture->access == SDL_TEXTUREACCESS_STREAMING) { |
551 data->pitch = texture->w * SDL_BYTESPERPIXEL(texture->format); | 551 data->pitch = texture->w * SDL_BYTESPERPIXEL(texture->format); |
671 } | 671 } |
672 | 672 |
673 static int | 673 static int |
674 DirectFB_SetTextureScaleMode(SDL_Renderer * renderer, SDL_Texture * texture) | 674 DirectFB_SetTextureScaleMode(SDL_Renderer * renderer, SDL_Texture * texture) |
675 { | 675 { |
676 #if (DIRECTFB_MAJOR_VERSION == 1) && (DIRECTFB_MINOR_VERSION >= 2) | 676 #if (DFB_VERSION_ATLEAST(1,2,0)) |
677 | 677 |
678 DirectFB_TextureData *data = (DirectFB_TextureData *) texture->driverdata; | 678 DirectFB_TextureData *data = (DirectFB_TextureData *) texture->driverdata; |
679 | 679 |
680 switch (texture->scaleMode) { | 680 switch (texture->scaleMode) { |
681 case SDL_TEXTURESCALEMODE_NONE: | 681 case SDL_TEXTURESCALEMODE_NONE: |
845 DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; | 845 DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; |
846 DFBResult ret; | 846 DFBResult ret; |
847 | 847 |
848 PrepareDraw(renderer); | 848 PrepareDraw(renderer); |
849 /* Use antialiasing when available */ | 849 /* Use antialiasing when available */ |
850 #if (DIRECTFB_MAJOR_VERSION == 1) && (DIRECTFB_MINOR_VERSION >= 2) | 850 #if (DFB_VERSION_ATLEAST(1,2,0)) |
851 SDL_DFB_CHECKERR(data->surface->SetRenderOptions(data->surface, | 851 SDL_DFB_CHECKERR(data->surface->SetRenderOptions(data->surface, |
852 DSRO_ANTIALIAS)); | 852 DSRO_ANTIALIAS)); |
853 #endif | 853 #endif |
854 SDL_DFB_CHECKERR(data->surface->DrawLine(data->surface, x1, y1, x2, y2)); | 854 SDL_DFB_CHECKERR(data->surface->DrawLine(data->surface, x1, y1, x2, y2)); |
855 return 0; | 855 return 0; |
959 | 959 |
960 SDL_DFB_CHECKERR(data->surface->SetBlittingFlags(data->surface, | 960 SDL_DFB_CHECKERR(data->surface->SetBlittingFlags(data->surface, |
961 data->blitFlags | 961 data->blitFlags |
962 | flags)); | 962 | flags)); |
963 | 963 |
964 #if (DIRECTFB_MAJOR_VERSION == 1) && (DIRECTFB_MINOR_VERSION >= 2) | 964 #if (DFB_VERSION_ATLEAST(1,2,0)) |
965 SDL_DFB_CHECKERR(data->surface->SetRenderOptions(data->surface, | 965 SDL_DFB_CHECKERR(data->surface->SetRenderOptions(data->surface, |
966 texturedata-> | 966 texturedata-> |
967 render_options)); | 967 render_options)); |
968 #endif | 968 #endif |
969 | 969 |