Free Electron
DrawableI.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __draw_DrawableI_h__
8 #define __draw_DrawableI_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Visualizable object using a DrawI
17 
18  @ingroup draw
19 *//***************************************************************************/
20 class FE_DL_EXPORT DrawableI:
21  virtual public Component,
22  public CastableAs<DrawableI>
23 {
24  public:
25  /** @brief Draw with current settings
26 
27  const versions do not permit caching. */
28 virtual void draw(sp<DrawI> a_spDrawI,const Color *a_pColor) =0;
29 virtual void draw(sp<DrawI> a_spDrawI,const Color *a_pColor) const =0;
30 virtual void draw(const SpatialTransform &a_transform,
31  sp<DrawI> a_spDrawI,const Color* a_pColor) =0;
32 virtual void draw(const SpatialTransform &a_transform,
33  sp<DrawI> a_spDrawI,const Color* a_pColor) const =0;
34 virtual void draw(const SpatialTransform &a_transform,
35  sp<DrawI> a_spDrawI,const Color* a_pColor,
36  sp<DrawBufferI> a_spDrawBuffer,
37  sp<PartitionI> a_spPartition) =0;
38 virtual void draw(const SpatialTransform &a_transform,
39  sp<DrawI> a_spDrawI,const Color* a_pColor,
40  sp<DrawBufferI> a_spDrawBuffer,
41  sp<PartitionI> a_spPartition) const =0;
42 };
43 
44 } /* namespace ext */
45 } /* namespace fe */
46 
47 #endif /* __draw_DrawableI_h__ */
48 
Visualizable object using a DrawI.
Definition: DrawableI.h:20
kernel
Definition: namespace.dox:3
Special vector for color (RGBA)
Definition: Color.h:21
Base for all interfacable components.
Definition: Component.h:20
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192