ClanLib
2.3.7
Main Page
Modules
Namespaces
Classes
Files
File List
File Members
Sources
API
Display
Render
polygon_rasterizer.h
Go to the documentation of this file.
1
/*
2
** ClanLib SDK
3
** Copyright (c) 1997-2011 The ClanLib Team
4
**
5
** This software is provided 'as-is', without any express or implied
6
** warranty. In no event will the authors be held liable for any damages
7
** arising from the use of this software.
8
**
9
** Permission is granted to anyone to use this software for any purpose,
10
** including commercial applications, and to alter it and redistribute it
11
** freely, subject to the following restrictions:
12
**
13
** 1. The origin of this software must not be misrepresented; you must not
14
** claim that you wrote the original software. If you use this software
15
** in a product, an acknowledgment in the product documentation would be
16
** appreciated but is not required.
17
** 2. Altered source versions must be plainly marked as such, and must not be
18
** misrepresented as being the original software.
19
** 3. This notice may not be removed or altered from any source distribution.
20
**
21
** Note: Some of the libraries ClanLib may link to may have additional
22
** requirements or restrictions.
23
**
24
** File Author(s):
25
**
26
** Harry Storbacka
27
*/
28
31
32
#pragma once
33
34
#include "../api_display.h"
35
#include "../../Core/System/sharedptr.h"
36
#include "../Image/pixel_buffer.h"
37
38
class
CL_PolygonRasterizer_Impl;
39
43
enum
CL_CullMode
44
{
45
cl_cull_front
,
46
cl_cull_back
,
47
cl_cull_front_and_back
48
};
49
53
enum
CL_FillMode
54
{
55
cl_fill_point
,
56
cl_fill_line
,
57
cl_fill_polygon
58
};
59
63
enum
CL_FaceSide
64
{
65
cl_face_side_clockwise
,
66
cl_face_side_counter_clockwise
67
};
68
72
class
CL_API_DISPLAY
CL_PolygonRasterizer
73
{
76
77
public
:
79
CL_PolygonRasterizer
();
80
81
virtual
~
CL_PolygonRasterizer
();
82
86
87
public
:
89
bool
is_antialiased()
const
;
90
92
bool
is_culled()
const
;
93
95
bool
is_point_offset()
const
;
96
98
bool
is_line_offset()
const
;
99
101
bool
is_polygon_offset()
const
;
102
104
CL_CullMode
get_face_cull_mode()
const
;
105
107
CL_FillMode
get_face_fill_mode()
const
;
108
110
float
get_offset_factor()
const
;
111
113
float
get_offset_units()
const
;
114
116
CL_FaceSide
get_front_face()
const
;
117
121
122
public
:
124
void
set_antialiased(
bool
value);
125
127
void
set_culled(
bool
value);
128
130
void
set_point_offset(
bool
value);
131
133
void
set_line_offset(
bool
value);
134
136
void
set_polygon_offset(
bool
value);
137
139
void
set_face_cull_mode(
CL_CullMode
value);
140
142
void
set_face_fill_mode(
CL_FillMode
value);
143
145
void
set_front_face(
CL_FaceSide
value);
146
148
void
set_offset_factor(
float
value);
149
151
void
set_offset_units(
float
value);
152
156
157
private
:
158
CL_SharedPtr<CL_PolygonRasterizer_Impl> impl;
160
};
161
Generated on Fri Jun 14 2013 13:05:46 for ClanLib by
1.8.4