Gnash
0.8.11dev
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
gui
aos4
aos4_cairo_glue.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010,
3
// 2011 Free Software Foundation, Inc
4
//
5
// This program is free software; you can redistribute it and/or modify
6
// it under the terms of the GNU General Public License as published by
7
// the Free Software Foundation; either version 3 of the License, or
8
// (at your option) any later version.
9
//
10
// This program 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
13
// GNU General Public License for more details.
14
//
15
// You should have received a copy of the GNU General Public License
16
// along with this program; if not, write to the Free Software
17
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19
#include "
aos4_glue.h
"
20
#undef ACTION_END
21
#include "
Renderer.h
"
22
#include "
Renderer_cairo.h
"
23
24
#include <proto/intuition.h>
25
#include <proto/graphics.h>
26
#include <graphics/blitattr.h>
27
#include <proto/Picasso96API.h>
28
#include <proto/layers.h>
29
#include <proto/dos.h>
30
#include <proto/gadtools.h>
31
32
#include <cairo.h>
33
34
#include <boost/cstdint.hpp>
// for boost::?int??_t
35
#include <vector>
36
37
namespace
gnash
38
{
39
class
AOS4CairoGlue
:
public
AOS4Glue
40
{
41
public
:
42
AOS4CairoGlue
();
43
virtual
~AOS4CairoGlue
();
44
45
bool
init
(
int
argc,
char
**argv[]);
46
Renderer
*
createRenderHandler
(
int
depth);
47
Renderer
*
createRenderHandler
();
48
bool
prepDrawingArea
(
int
width
,
int
height
);
49
void
render
();
50
void
render
(
int
minx,
int
miny,
int
maxx,
int
maxy);
51
void
setInvalidatedRegions
(
const
InvalidatedRanges
& ranges);
52
struct
Window *
getWindow
(
void
);
53
struct
Menu *
getMenu
(
void
);
54
void
setFullscreen
();
55
void
unsetFullscreen
();
56
void
resize
(
int
width,
int
height);
57
void
saveOrigiginalDimension
(
int
width,
int
height);
58
private
:
59
geometry::Range2d<int>
_validbounds;
60
std::vector< geometry::Range2d<int> > _drawbounds;
61
cairo_surface_t *_cairo_surface;
62
cairo_t *_cairo_handle;
63
unsigned
char
*_offscreenbuf;
64
Renderer
*_cairo_renderer;
65
struct
Window *
_window
;
66
struct
Screen *_screen;
67
bool
_fullscreen;
68
int
_width
;
69
int
_orig_width
;
70
int
_height
;
71
int
_orig_height
;
72
int
_stride;
73
int
_btype;
74
cairo_format_t _ctype;
75
struct
Menu *_menu;
76
RGBFTYPE _ftype;
77
};
78
}
79
Generated on Wed Oct 23 2013 11:31:07 for Gnash by
1.8.4