ScummVM API documentation
blit.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef GAMOS_BLIT_H
23#define GAMOS_BLIT_H
24
25#include "graphics/surface.h"
26#include "common/rect.h"
27
28namespace Gamos {
29
30class Blitter {
31protected:
32 static void blitNormal(Graphics::Surface *src, const Common::Rect &srcRect, Graphics::Surface *dst, const Common::Rect &dstRect);
33 static void blitFlipH(Graphics::Surface *src, const Common::Rect &srcRect, Graphics::Surface *dst, const Common::Rect &dstRect);
34 static void blitFlipV(Graphics::Surface *src, const Common::Rect &srcRect, Graphics::Surface *dst, const Common::Rect &dstRect);
35 static void blitFlipVH(Graphics::Surface *src, const Common::Rect &srcRect, Graphics::Surface *dst, const Common::Rect &dstRect);
36
37public:
38 static void blit(Graphics::Surface *src, const Common::Rect &srcRect, Graphics::Surface *dst, const Common::Rect &dstRect, uint flip = 0) {
39 switch (flip) {
40 default:
41 blitNormal(src, srcRect, dst, dstRect);
42 break;
43
45 blitFlipH(src, srcRect, dst, dstRect);
46 break;
47
49 blitFlipV(src, srcRect, dst, dstRect);
50 break;
51
53 blitFlipVH(src, srcRect, dst, dstRect);
54 break;
55 }
56 };
57};
58
59}
60
61#endif
Definition: blit.h:30
@ FLIP_VH
The image will be flipped at the horizontal and vertical axis.
Definition: transform_struct.h:57
@ FLIP_V
The image will be flipped at the vertical axis.
Definition: transform_struct.h:53
@ FLIP_H
The image will be flipped at the horizontal axis.
Definition: transform_struct.h:51
Definition: rect.h:536
Definition: surface.h:67