趣味で作ってるロボット用ソフトウェア
 All Classes Files Functions Enumerations Enumerator Friends Pages
Surface.h
Go to the documentation of this file.
1 #ifndef HRK_SURFACE_H
2 #define HRK_SURFACE_H
3 
9 #include "SizeF.h"
10 #include "Color.h"
11 
12 
13 namespace hrk
14 {
15  class PointF;
16  class RectF;
17  class Angle;
18 
19 
20  class Surface
21  {
22  public:
23  static const double No_depth_z;
24 
25  virtual ~Surface(void)
26  {
27  }
28 
30  virtual SizeF size(void) const = 0;
31 
32  virtual double width(void) const
33  {
34  return size().width();
35  }
36 
37  virtual double height(void) const
38  {
39  return size().height();
40  }
41 
42  virtual bool is_valid(void) const
43  {
44  return ((width() == 0) || (height() == 0)) ? false : true;
45  }
46 
48  virtual Color pixel_color(const PointF& point,
49  double magnify) const = 0;
50 
61  virtual void draw(const RectF* src, const RectF& dest,
62  double z, const Angle& rotate_angle, double magnify,
63  double color_strength_ratio, double alpha,
64  bool antialiasing) const = 0;
65  };
66 }
67 
68 #endif
Definition: Color.h:12
virtual SizeF size(void) const =0
サーフェスの幅と高さを返す
角度
Definition: Angle.h:13
位置
Definition: PointF.h:12
幅と高さ
Definition: SizeF.h:12
Definition: Surface.h:20
virtual void draw(const RectF *src, const RectF &dest, double z, const Angle &rotate_angle, double magnify, double color_strength_ratio, double alpha, bool antialiasing) const =0
描画
virtual Color pixel_color(const PointF &point, double magnify) const =0
指定された位置の色情報を返す
矩形
Definition: RectF.h:16
幅と高さの管理