Logo Search packages:      
Sourcecode: scummvm version File versions  Download package

graphics.h

/* 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 *
 * $Header: /cvsroot/scummvm/scummvm/backends/gp32/graphics.h,v 1.2.2.1 2005/10/18 02:11:16 sev Exp $
 *
 */

//////////////////////////////////////////////////////////////////////////////
//
// 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 */

Generated by  Doxygen 1.6.0   Back to index