44 std::unique_ptr<i_rendering_context>
clone() const final;
51 void enqueue(const graphics_operation::operation& aOperation) final;
133 size text_extent(
std::
string::const_iterator aTextBegin,
std::
string::const_iterator aTextEnd, const font& aFont) const final;
134 size text_extent(
std::
string::const_iterator aTextBegin,
std::
string::const_iterator aTextEnd,
std::function<font(
std::
size_t)> aFontSelector) const final;
171 void draw_text(const
point& aPoint,
std::
string const& aText, const text_format& aTextFormat) const final;
172 void draw_text(const
point& aPoint,
std::
string const& aText, const font& aFont, const text_format& aTextFormat) const final;
173 void draw_text(const
point& aPoint,
std::
string::const_iterator aTextBegin,
std::
string::const_iterator aTextEnd, const text_format& aTextFormat) const final;
174 void draw_text(const
point& aPoint,
std::
string::const_iterator aTextBegin,
std::
string::const_iterator aTextEnd, const font& aFont, const text_format& aTextFormat) const final;
175 void draw_text(const
vec3& aPoint,
std::
string const& aText, const text_format& aTextFormat) const final;
176 void draw_text(const
vec3& aPoint,
std::
string const& aText, const font& aFont, const text_format& aTextFormat) const final;
177 void draw_text(const
vec3& aPoint,
std::
string::const_iterator aTextBegin,
std::
string::const_iterator aTextEnd, const text_format& aTextFormat) const final;
178 void draw_text(const
vec3& aPoint,
std::
string::const_iterator aTextBegin,
std::
string::const_iterator aTextEnd, const font& aFont, const text_format& aTextFormat) const final;
201 void set_mnemonic(
bool aShowMnemonics,
char aMnemonicPrefix = '&') const final;
242 mutable font iDefaultFont;
243 mutable
point iOrigin;
244 mutable
size iExtents;
245 mutable int32_t iLayer;
248 mutable
bool iSnapToPixel;
249 mutable
double iOpacity;
252 mutable
bool iSubpixelRendering;
void clear_stencil_buffer() const final
void set_origin(const point &aOrigin) const final
void scissor_on(const rect &aRect) const final
multiline_glyph_text to_multiline_glyph_text(std::string const &aText, dimension aMaxWidth, alignment aAlignment=alignment::Left) const final
font const & default_font() const final
point origin() const final
void set_opacity(double aOpacity) const final
void draw_rect(const rect &aRect, const pen &aPen, const brush &aFill=brush{}) const final
void clear_gradient() final
void draw_mesh(const game::mesh &aMesh, const game::material &aMaterial, const optional_mat44 &aTransformation=optional_mat44{}, const std::optional< game::filter > &aFilter={}) const final
graphics_context(const i_widget &aWidget, type aType=type::Attached)
graphics_context(const i_texture &aTexture, type aType=type::Attached)
void subpixel_rendering_on() const final
bool is_text_right_to_left(std::string const &aText) const final
void set_snap_to_pixel(bool aSnap) const final
void draw_multiline_text(const point &aPoint, std::string const &aText, const text_format &aTextFormat, alignment aAlignment=alignment::Left) const final
void enqueue(const graphics_operation::operation &aOperation) final
bool password() const final
virtual ~graphics_context()
const i_render_target & render_target() const final
i_rendering_context & native_context() const
void set_blending_mode(neogfx::blending_mode aBlendingMode) const final
void line_stipple_off() const final
void draw_glyphs(const point &aPoint, const glyph_text &aText, const text_format_spans &aSpans) const final
void clear(const color &aColor, const std::optional< scalar > &aZpos=std::optional< scalar >{}) const final
void draw_texture(const point &aPoint, const i_texture &aTexture, const color_or_gradient &aColor={}, shader_effect aShaderEffect=shader_effect::None) const final
void set_pixel(const point &aPoint, const color &aColor) const final
void draw_glyph(const point &aPoint, const glyph_text &aText, const glyph_char &aGlyphChar, const text_format &aTextFormat) const final
double opacity() const final
char mnemonic() const final
void apply_gradient(i_gradient_shader &aShader) final
void draw_arc(const point &aCenter, dimension aRadius, angle aStartAngle, angle aEndAngle, const pen &aPen, const brush &aFill=brush{}) const final
void subpixel_rendering_off() const final
void clear_tab_stops() override
void scissor_off() const final
glyph_text to_glyph_text(std::string const &aText) const final
neogfx::subpixel_format subpixel_format() const final
void blur(const rect &aDestinationRect, const i_graphics_context &aSource, const rect &aSourceRect, dimension aRadius, blurring_algorithm aAlgorithm=blurring_algorithm::Gaussian, scalar aParameter1=5, scalar aParameter2=1.0) const final
void set_password(bool aPassword, std::string const &aMask="\xE2\x97\x8F") final
void draw_glyph_text(const point &aPoint, const glyph_text &aText, const text_format &aTextFormat) const final
void draw_multiline_glyph_text(const point &aPoint, const glyph_text &aText, dimension aMaxWidth, const text_format &aTextFormat, alignment aAlignment=alignment::Left) const final
void clear_depth_buffer() const final
void set_extents(const size &aExtents) const final
void set_default_font(const font &aDefaultFont) const final
dimension ppi() const final
bool is_subpixel_rendering_on() const final
size multiline_glyph_text_extent(const glyph_text &aText, dimension aMaxWidth) const final
i_rendering_engine & rendering_engine() const final
size extents() const final
std::string const & password_mask() const final
void unset_mnemonic() const final
dimension horizontal_dpi() const final
void draw_shape(const game::mesh &aShape, const vec3 &aPosition, const pen &aPen, const brush &aFill=brush{}) const final
void set_viewport(const rect &aViewportRect) const final
const i_device_metrics & device_metrics() const final
size text_extent(std::string const &aText) const final
dimension vertical_dpi() const final
graphics_context(const i_surface &aSurface, type aType=type::Attached)
void draw_focus_rect(const rect &aRect) const final
layer_t layer() const final
void draw_texture(const rect &aRect, const i_texture &aTexture, const color_or_gradient &aColor={}, shader_effect aShaderEffect=shader_effect::None) const final
void set_layer(layer_t aLayer) final
void set_default_viewport() const final
bool mnemonics_shown() const final
bool metrics_available() const final
void draw_circle(const point &aCenter, dimension aRadius, const pen &aPen, const brush &aFill=brush{}) const final
void set_logical_coordinates(const neogfx::logical_coordinates &aCoordinates) const final
void set_tab_stops(i_tab_stops const &aTabStops) override
void set_gradient(const gradient &aGradient, const rect &aBoundingBox) final
void blit(const rect &aDestinationRect, const i_graphics_context &aSource, const rect &aSourceRect) const final
void pop_logical_operation() const final
void draw_pixel(const point &aPoint, const color &aColor) const final
void draw_ellipse(const point &aCenter, dimension aRadiusA, dimension aRadiusB, const pen &aPen, const brush &aFill=brush{}) const final
dimension em_size() const final
void line_stipple_on(scalar aFactor, uint16_t aPattern, scalar aPosition=0.0) const final
friend class generic_surface
void draw_texture(const rect &aRect, const i_texture &aTexture, const rect &aTextureRect, const color_or_gradient &aColor={}, shader_effect aShaderEffect=shader_effect::None) const final
delta from_device_units(const delta &aValue) const final
std::unique_ptr< i_rendering_context > clone() const final
void set_offset(const optional_vec2 &aOffset) final
bool device_metrics_available() const final
void draw_rounded_rect(const rect &aRect, const vec4 &aRadius, const pen &aPen, const brush &aFill=brush{}) const final
vec2 offset() const final
graphics_context(const i_surface &aSurface, const font &aDefaultFont, type aType=type::Attached)
bool gradient_set() const final
void push_logical_operation(logical_operation aLogicalOperation) const final
graphics_context(const graphics_context &aOther)
size glyph_text_extent(const glyph_text &aText) const final
bool mnemonic_set() const final
delta to_device_units(const delta &aValue) const final
bool has_tab_stops() const override
void draw_pie(const point &aCenter, dimension aRadius, angle aStartAngle, angle aEndAngle, const pen &aPen, const brush &aFill=brush{}) const final
bool is_text_left_to_right(std::string const &aText) const final
void draw_texture(const point &aPoint, const i_texture &aTexture, const rect &aTextureRect, const color_or_gradient &aColor={}, shader_effect aShaderEffect=shader_effect::None) const final
void draw_line(const point &aFrom, const point &aTo, const pen &aPen) const final
void draw_texture(const game::mesh &aMesh, const i_texture &aTexture, const color_or_gradient &aColor={}, shader_effect aShaderEffect=shader_effect::None) const final
void draw_entities(game::i_ecs &aEcs, int32_t aLayer=0) const final
void set_logical_coordinate_system(neogfx::logical_coordinate_system aSystem) const final
rect rendering_area(bool aConsiderScissor=true) const final
void draw_text(const point &aPoint, std::string const &aText, const text_format &aTextFormat) const final
void draw_triangle(const point &aP0, const point &aP1, const point &aP2, const pen &aPen, const brush &aFill=brush{}) const final
size multiline_text_extent(std::string const &aText) const final
void draw_texture(const game::mesh &aMesh, const i_texture &aTexture, const rect &aTextureRect, const color_or_gradient &aColor={}, shader_effect aShaderEffect=shader_effect::None) const final
bool snap_to_pixel() const final
void set_mnemonic(bool aShowMnemonics, char aMnemonicPrefix='&') const final
void draw_path(const path &aPath, const pen &aPen, const brush &aFill=brush{}) const final
void draw_checker_rect(const rect &aRect, const size &aSquareSize, const pen &aPen, const brush &aFill1, const brush &aFill2) const final
void draw_cubic_bezier(const point &aP0, const point &aP1, const point &aP2, const point &aP3, const pen &aPen) const final
void set_smoothing_mode(neogfx::smoothing_mode aSmoothingMode) const final
const graphics_operation::queue & queue() const final
logical_coordinate_system
default_geometry_value_type dimension