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