35 #include "../api_display.h"
36 #include "../../Core/System/sharedptr.h"
37 #include "../../Core/Text/string_types.h"
38 #include "../Render/graphic_context.h"
39 #include "../Render/primitives_array.h"
40 #include "../Render/texture.h"
41 #include "../../Core/Math/mat4.h"
110 virtual int get_max_attributes() = 0;
115 virtual CL_Size get_max_texture_size()
const = 0;
118 virtual int get_width()
const = 0;
121 virtual int get_height()
const = 0;
129 virtual void destroy() = 0;
168 virtual void set_program_object(
const CL_ProgramObject &program,
int program_matrix_flags) = 0;
171 virtual void reset_program_object() = 0;
174 virtual void set_texture(
int unit_index,
const CL_Texture &texture) = 0;
177 virtual void reset_texture(
int unit_index,
const CL_Texture &texture) = 0;
183 virtual void reset_frame_buffer() = 0;
186 virtual void set_blend_mode(
const CL_BlendMode &blendmode) = 0;
189 virtual void set_buffer_control(
const CL_BufferControl &buffer_control) = 0;
192 virtual void set_pen(
const CL_Pen &pen) = 0;
204 virtual void draw_primitives_array(
CL_PrimitivesType type,
int offset,
int num_vertices) = 0;
207 virtual void draw_primitives_array_instanced(
CL_PrimitivesType type,
int offset,
int num_vertices,
int instance_count) = 0;
214 virtual void draw_primitives_elements(
CL_PrimitivesType type,
int count,
unsigned int *indices) = 0;
221 virtual void draw_primitives_elements(
CL_PrimitivesType type,
int count,
unsigned short *indices) = 0;
228 virtual void draw_primitives_elements(
CL_PrimitivesType type,
int count,
unsigned char *indices) = 0;
236 virtual void draw_primitives_elements_instanced(
CL_PrimitivesType type,
int count,
unsigned int *indices,
int instance_count) = 0;
244 virtual void draw_primitives_elements_instanced(
CL_PrimitivesType type,
int count,
unsigned short *indices,
int instance_count) = 0;
252 virtual void draw_primitives_elements_instanced(
CL_PrimitivesType type,
int count,
unsigned char *indices,
int instance_count) = 0;
276 virtual void reset_primitives_array() = 0;
282 virtual void set_clip_rect(
const CL_Rect &rect) = 0;
285 virtual void reset_clip_rect() = 0;
288 virtual void clear(
const CL_Colorf &color) = 0;
293 virtual void clear_depth(
float value) = 0;
298 virtual void clear_stencil(
int value) = 0;
301 virtual void set_map_mode(
CL_MapMode mode) = 0;
304 virtual void set_viewport(
const CL_Rectf &viewport) = 0;
307 virtual void set_projection(
const CL_Mat4f &matrix) = 0;
310 virtual void set_modelview(
const CL_Mat4f &matrix) = 0;