NAVTOR SDK  v.3.0
Software Development Kit for fast and efficient development of ECDIS, ECS and generic marine applications
2d_render_target_factory_interface.h
Go to the documentation of this file.
1 #ifndef SDK_2D_RENDER_TARGET_FACTORY_INTERFACE_H_
11 #define SDK_2D_RENDER_TARGET_FACTORY_INTERFACE_H_
12 
13 #include <base/inc/platform.h>
14 #include <base/inc/base_types.h>
16 #include <base/inc/sdk_ref_ptr.h>
18 #include <geometry/inc/geometry/geometry2d/2d_geometry_objects.h>
19 #include "2d_graphics_objects.h"
20 #include "2d_custom_font_registrar_interface.h"
24 
25 namespace sdk {
26 namespace gfx {
27 
30 class I2DRenderTargetFactory : public sdk::ISDKComponent
31 {
32  public:
35  virtual SDKResult SDK_CALLTYPE SetMultiThreadedSupport(bool is_multithreaded_usage) throw() = 0;
37  virtual SDKResult SDK_CALLTYPE GetMultiThreadedSupport(bool& is_multithreaded_usage) const throw() = 0;
38 
40  virtual SDKResult SDK_CALLTYPE GetCustomFontRegistrar(
41  CustomFontRegistrarSP& font_registrar) throw() = 0;
42 
44  virtual SDKResult SDK_CALLTYPE CreateRenderTarget2D(const sdk::gfx::RenderTarget2DType& type,
45  const sdk::gfx::RenderTargetInitSettingsSP& settings,
46  sdk::gfx::RenderTargetSP& render_target) throw() = 0;
47 
49  virtual SDKResult SDK_CALLTYPE CreateGraphicsPath(sdk::gfx::GraphicsPathSP& path) throw() = 0;
51  virtual SDKResult SDK_CALLTYPE CreateGraphicsPathFromGeometryPath(
52  const sdk::geometry::GeometryPathSP& geometry_path,
53  sdk::gfx::GraphicsPathSP& new_path) throw() = 0;
55  virtual SDKResult SDK_CALLTYPE CreateRectGraphicsPath(const SDKRectF2D& rect,
56  sdk::gfx::GraphicsPathSP& path) throw() = 0;
58  virtual SDKResult SDK_CALLTYPE CreateRoundRectGraphicsPath(
59  const SDKRoundRectF2D& round_rect, sdk::gfx::GraphicsPathSP& path) throw() = 0;
61  virtual SDKResult SDK_CALLTYPE CreateEllipseGraphicsPath(const SDKEllipseF2D& ellipse,
62  sdk::gfx::GraphicsPathSP& path) throw() = 0;
63 
65  virtual SDKResult SDK_CALLTYPE CreateSoftwareTexture(
66  const sdk::vis::scene::TextureFormat& format, const SDKSize& size,
67  sdk::vis::scene::ITextureSP& texture) throw() = 0;
68 
70  SDK_IMPLEMENT_IID(I2DRenderTargetFactory)
71  SDK_END_INTERFACE(I2DRenderTargetFactory)
72 };
73 SDK_DECLARE_IID(I2DRenderTargetFactory)
74 
75 } // namespace gfx
76 } // namespace sdk
77 
78 #endif // SDK_2D_RENDER_TARGET_FACTORY_INTERFACE_H_
2d_graphics_path_interface.h
Graphics path primitive, which can be drawn by using render target object.
sdk::gfx::I2DRenderTargetFactory::GetMultiThreadedSupport
virtual SDKResult SDK_CALLTYPE GetMultiThreadedSupport(bool &is_multithreaded_usage) const =0
Returns the multi-threaded support state flag.
base_types.h
SDK base types.
sdk::gfx::I2DRenderTargetFactory
Creates a render target for the Direct2D or SKIA backends.
Definition: 2d_render_target_factory_interface.h:30
sdk::gfx::I2DRenderTargetFactory::CreateRectGraphicsPath
virtual SDKResult SDK_CALLTYPE CreateRectGraphicsPath(const SDKRectF2D &rect, sdk::gfx::GraphicsPathSP &path)=0
Creates a new graphics path with rectangle geometry inside.
sdk_ref_ptr.h
Interfaces wrapper with reference count control.
2d_render_target_interface.h
Generic 2D render target (allows to render 2D images)
sdk::gfx::I2DRenderTargetFactory::CreateRenderTarget2D
virtual SDKResult SDK_CALLTYPE CreateRenderTarget2D(const sdk::gfx::RenderTarget2DType &type, const sdk::gfx::RenderTargetInitSettingsSP &settings, sdk::gfx::RenderTargetSP &render_target)=0
Creates a new 2D render target by using specified type and settings.
sdk::gfx::RenderTarget2DType
RenderTarget2DType
All of available render targets enumeration.
Definition: 2d_render_target_interface.h:32
sdk::gfx::I2DRenderTargetFactory::CreateSoftwareTexture
virtual SDKResult SDK_CALLTYPE CreateSoftwareTexture(const sdk::vis::scene::TextureFormat &format, const SDKSize &size, sdk::vis::scene::ITextureSP &texture)=0
Creates software based texture.
2d_render_target_init_settings_interface.h
Base interface for initialization of new Render Target.
SDKRectF2D
2D Rectangle
Definition: geometry_base_types.h:1295
sdk::gfx::I2DRenderTargetFactory::GetCustomFontRegistrar
virtual SDKResult SDK_CALLTYPE GetCustomFontRegistrar(CustomFontRegistrarSP &font_registrar)=0
Returns custom font registrar.
SDKResult
SDKInt32 SDKResult
Type of all error or return codes which SDK functions can end with.
Definition: sdk_results.h:17
sdk::vis::scene::TextureFormat
TextureFormat
Texture bytes format.
Definition: texture_interface.h:30
sdk_component_interface.h
Common base SDK interfaces.
sdk::gfx::I2DRenderTargetFactory::CreateRoundRectGraphicsPath
virtual SDKResult SDK_CALLTYPE CreateRoundRectGraphicsPath(const SDKRoundRectF2D &round_rect, sdk::gfx::GraphicsPathSP &path)=0
Creates a new graphics path with rounded rectangle geometry inside.
platform.h
Describes the platform constants.
sdk::gfx::I2DRenderTargetFactory::CreateGraphicsPath
virtual SDKResult SDK_CALLTYPE CreateGraphicsPath(sdk::gfx::GraphicsPathSP &path)=0
Creates new graphics path instance.
sdk::gfx::I2DRenderTargetFactory::CreateEllipseGraphicsPath
virtual SDKResult SDK_CALLTYPE CreateEllipseGraphicsPath(const SDKEllipseF2D &ellipse, sdk::gfx::GraphicsPathSP &path)=0
Creates a new graphics path with ellipse geometry inside.
geometry_base_types.h
Geometry base types.
sdk::gfx::I2DRenderTargetFactory::SetMultiThreadedSupport
virtual SDKResult SDK_CALLTYPE SetMultiThreadedSupport(bool is_multithreaded_usage)=0
Sets the flag state, which allows to use the objects from multi-threaded environment.
SDKRoundRectF2D
Rounded 2D rectangle.
Definition: geometry_base_types.h:1479
SDKSize
SizeUI.
Definition: geometry_base_types.h:1235
sdk::gfx::I2DRenderTargetFactory::CreateGraphicsPathFromGeometryPath
virtual SDKResult SDK_CALLTYPE CreateGraphicsPathFromGeometryPath(const sdk::geometry::GeometryPathSP &geometry_path, sdk::gfx::GraphicsPathSP &new_path)=0
Creates new graphics path instance from geometry path.
SDKEllipseF2D
2D ellipse
Definition: geometry_base_types.h:1487