comparison src/video/directfb/SDL_DirectFB_render.c @ 5151:5429daf5e3f9

The DrawRect API is implemented using lines
author Sam Lantinga <slouken@libsdl.org>
date Tue, 01 Feb 2011 20:50:04 -0800
parents c8e049de174c
children be02be2ea897
comparison
equal deleted inserted replaced
5150:ad50b3db78bd 5151:5429daf5e3f9
66 const SDL_Rect * rects); 66 const SDL_Rect * rects);
67 static int DirectFB_RenderDrawPoints(SDL_Renderer * renderer, 67 static int DirectFB_RenderDrawPoints(SDL_Renderer * renderer,
68 const SDL_Point * points, int count); 68 const SDL_Point * points, int count);
69 static int DirectFB_RenderDrawLines(SDL_Renderer * renderer, 69 static int DirectFB_RenderDrawLines(SDL_Renderer * renderer,
70 const SDL_Point * points, int count); 70 const SDL_Point * points, int count);
71 static int DirectFB_RenderDrawRects(SDL_Renderer * renderer,
72 const SDL_Rect ** rects, int count);
73 static int DirectFB_RenderFillRects(SDL_Renderer * renderer, 71 static int DirectFB_RenderFillRects(SDL_Renderer * renderer,
74 const SDL_Rect ** rects, int count); 72 const SDL_Rect ** rects, int count);
75 static int DirectFB_RenderCopy(SDL_Renderer * renderer, 73 static int DirectFB_RenderCopy(SDL_Renderer * renderer,
76 SDL_Texture * texture, 74 SDL_Texture * texture,
77 const SDL_Rect * srcrect, 75 const SDL_Rect * srcrect,
269 renderer->UnlockTexture = DirectFB_UnlockTexture; 267 renderer->UnlockTexture = DirectFB_UnlockTexture;
270 renderer->DirtyTexture = DirectFB_DirtyTexture; 268 renderer->DirtyTexture = DirectFB_DirtyTexture;
271 renderer->RenderDrawPoints = DirectFB_RenderDrawPoints; 269 renderer->RenderDrawPoints = DirectFB_RenderDrawPoints;
272 renderer->RenderDrawLines = DirectFB_RenderDrawLines; 270 renderer->RenderDrawLines = DirectFB_RenderDrawLines;
273 renderer->RenderFillRects = DirectFB_RenderFillRects; 271 renderer->RenderFillRects = DirectFB_RenderFillRects;
274 renderer->RenderDrawRects = DirectFB_RenderDrawRects;
275 /* RenderDrawEllipse - no reference implementation yet */ 272 /* RenderDrawEllipse - no reference implementation yet */
276 /* RenderFillEllipse - no reference implementation yet */ 273 /* RenderFillEllipse - no reference implementation yet */
277 renderer->RenderCopy = DirectFB_RenderCopy; 274 renderer->RenderCopy = DirectFB_RenderCopy;
278 renderer->RenderPresent = DirectFB_RenderPresent; 275 renderer->RenderPresent = DirectFB_RenderPresent;
279 /* RenderReadPixels is difficult to implement */ 276 /* RenderReadPixels is difficult to implement */
815 error: 812 error:
816 return -1; 813 return -1;
817 } 814 }
818 815
819 static int 816 static int
820 DirectFB_RenderDrawRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count)
821 {
822 DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata;
823 SDL_DFB_WINDOWSURFACE(data->window);
824 int i;
825
826 PrepareDraw(renderer);
827
828 for (i=0; i<count; i++)
829 SDL_DFB_CHECKERR(destsurf->DrawRectangle(destsurf, rects[i]->x, rects[i]->y,
830 rects[i]->w, rects[i]->h));
831
832 return 0;
833 error:
834 return -1;
835 }
836
837 static int
838 DirectFB_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count) 817 DirectFB_RenderFillRects(SDL_Renderer * renderer, const SDL_Rect ** rects, int count)
839 { 818 {
840 DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata; 819 DirectFB_RenderData *data = (DirectFB_RenderData *) renderer->driverdata;
841 SDL_DFB_WINDOWSURFACE(data->window); 820 SDL_DFB_WINDOWSURFACE(data->window);
842 int i; 821 int i;