comparison src/video/SDL_blendrect.c @ 2888:32e8bbba1e94

Added stubs for software implementations of blending fills and line drawing
author Sam Lantinga <slouken@libsdl.org>
date Sat, 20 Dec 2008 13:14:28 +0000
parents
children 1ef2f1e75ff7
comparison
equal deleted inserted replaced
2887:f8c0c5ef6d54 2888:32e8bbba1e94
1 /*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997-2009 Sam Lantinga
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19 Sam Lantinga
20 slouken@libsdl.org
21 */
22 #include "SDL_config.h"
23
24 #include "SDL_video.h"
25 #include "SDL_blit.h"
26
27
28 int
29 SDL_BlendRect(SDL_Surface * dst, SDL_Rect * dstrect, int blendMode, Uint8 r,
30 Uint8 g, Uint8 b, Uint8 a)
31 {
32 /* This function doesn't work on surfaces < 8 bpp */
33 if (dst->format->BitsPerPixel < 8) {
34 SDL_SetError("SDL_BlendRect(): Unsupported surface format");
35 return (-1);
36 }
37
38 /* If 'dstrect' == NULL, then fill the whole surface */
39 if (dstrect) {
40 /* Perform clipping */
41 if (!SDL_IntersectRect(dstrect, &dst->clip_rect, dstrect)) {
42 return (0);
43 }
44 } else {
45 dstrect = &dst->clip_rect;
46 }
47
48 SDL_Unsupported();
49 return -1;
50 }
51
52 /* vi: set ts=4 sw=4 expandtab: */