aboutsummaryrefslogtreecommitdiff
path: root/backends/gp32/graphics.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/gp32/graphics.h')
-rw-r--r--backends/gp32/graphics.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/backends/gp32/graphics.h b/backends/gp32/graphics.h
new file mode 100644
index 0000000000..ed28f61a98
--- /dev/null
+++ b/backends/gp32/graphics.h
@@ -0,0 +1,112 @@
+/* ScummVM - Scumm Interpreter
+ * Copyright (C) 2001 Ludvig Strigeus
+ * Copyright (C) 2001/2004 The ScummVM project
+ * Copyright (C) 2002 Ph0x - GP32 Backend
+ * Copyright (C) 2003/2004 DJWillis - GP32 Backend
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Header$
+ *
+ */
+
+//////////////////////////////////////////////////////////////////////////////
+//
+// GP32 Graphics structure header
+//
+//////////////////////////////////////////////////////////////////////////////
+
+#ifndef GRAPHICS_H
+#define GRAPHICS_H
+
+#define Sint16 s16
+#define Uint16 u16
+#define Uint32 u32
+#define Uint8 u8
+
+typedef struct {
+ Sint16 x, y;
+ Uint16 w, h;
+} gpRect;
+
+typedef struct {
+ Uint8 r;
+ Uint8 g;
+ Uint8 b;
+ Uint8 unused;
+} gpColor;
+
+typedef struct {
+ int ncolors;
+ gpColor *colors;
+} gpPalette;
+
+/* Everything in the pixel format structure is read-only */
+typedef struct gpPixelFormat {
+ gpPalette *palette;
+ Uint8 BitsPerPixel;
+ Uint8 BytesPerPixel;
+ Uint8 Rloss;
+ Uint8 Gloss;
+ Uint8 Bloss;
+ Uint8 Aloss;
+ Uint8 Rshift;
+ Uint8 Gshift;
+ Uint8 Bshift;
+ Uint8 Ashift;
+ Uint32 Rmask;
+ Uint32 Gmask;
+ Uint32 Bmask;
+ Uint32 Amask;
+
+ /* RGB color key information */
+ Uint32 colorkey;
+ /* Alpha value information (per-surface alpha) */
+ Uint8 alpha;
+} gpPixelFormat;
+
+typedef struct gpSurface {
+ Uint32 flags; /* Read-only */
+ gpPixelFormat *format; /* Read-only */
+ int w, h; /* Read-only */
+ Uint16 pitch; /* Read-only */
+ void *pixels; /* Read-write */
+ int offset; /* Private */
+
+ /* Hardware-specific surface info */
+ struct private_hwdata *hwdata;
+
+ /* clipping information */
+ gpRect clip_rect; /* Read-only */
+ Uint32 unused1; /* for binary compatibility */
+
+ /* Allow recursive locks */
+ Uint32 locked; /* Private */
+
+ /* info for fast blit mapping to other surfaces */
+ // struct gpBlitMap *map; /* Private */
+
+ /* format version, bumped at every change to invalidate blit maps */
+ unsigned int format_version; /* Private */
+
+ /* Reference count -- used when freeing surface */
+ int refcount; /* Read-mostly */
+} gpSurface;
+
+#define gpSWSurface 0x00000000
+#define gpHWSurface 0x00000001
+#define gpFullScreen 0x80000000
+
+#endif /* GRAPHICS_H */