gambas-source-code/gb.sdl2/src/main.h
Benoît Minisini ac239ebc89 [GB.SDL2]
* NEW: Implement Font.TextWidth() and Font.TextHeight().
* NEW: Add the default Gambas font.
* NEW: Add a texture cache in each Font object, that can store the last 128 
  drawn texts. When the cache is full, it is completely erased.
* BUG: Many fixes.

git-svn-id: svn://localhost/gambas/trunk@6776 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2014-12-29 21:49:05 +00:00

78 lines
2.1 KiB
C

/***************************************************************************
main.h
(c) 2014 Benoît Minisini <gambas@users.sourceforge.net>
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, 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.
***************************************************************************/
#ifndef __MAIN_H
#define __MAIN_H
#include "gambas.h"
#include "gb_common.h"
#include "gb_list.h"
#include "gb.geom.h"
#include "gb.image.h"
#include "SDL.h"
#include "SDL_image.h"
#include "SDL_ttf.h"
#include "SDL_opengl.h"
#ifndef __MAIN_C
extern GB_INTERFACE GB;
extern IMAGE_INTERFACE IMAGE;
extern GEOM_INTERFACE GEOM;
extern GB_CLASS CLASS_Window;
extern GB_CLASS CLASS_Image;
extern GB_CLASS CLASS_Font;
#endif
#define RAISE_ERROR(_msg) GB.Error(_msg ": &1", SDL_GetError());
#define SAME_COLORS(_col1, _col2) ((_col1)->r == (_col2)->r && (_col1)->g== (_col2)->g && (_col1)->b == (_col2)->b && (_col1)->a == (_col2)->a)
#define SDL_COLOR_TO_UINT(_color) ((_color)->b | ((_color)->g << 8) | ((_color)->r << 16) | ((_color)->a << 24))
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
#define DEFAULT_IMAGE_FORMAT GB_IMAGE_ARGB
#define DEFAULT_SDL_IMAGE_FORMAT SDL_PIXELFORMAT_BGRA8888
#define BMASK 0xFF000000
#define GMASK 0x00FF0000
#define RMASK 0x0000FF00
#define AMASK 0x000000FF
#else
#define DEFAULT_IMAGE_FORMAT GB_IMAGE_BGRA
#define DEFAULT_SDL_IMAGE_FORMAT SDL_PIXELFORMAT_ARGB8888
#define BMASK 0x000000FF
#define GMASK 0x0000FF00
#define RMASK 0x00FF0000
#define AMASK 0xFF000000
#endif
#endif /* __MAIN_H */