趣味で作ってるロボット用ソフトウェア
 All Classes Files Functions Enumerations Enumerator Friends Pages
Sdl_gl_texture.h
Go to the documentation of this file.
1 #ifndef HRK_SDL_GL_TEXTURE_H
2 #define HRK_SDL_GL_TEXTURE_H
3 
9 #include <SDL.h>
10 #include <memory>
11 #include "Color.h"
12 #include "RectF.h"
13 
14 
15 namespace hrk
16 {
17  class Angle;
18 
21  {
22  public:
27  explicit Sdl_gl_texture(SDL_Surface* surface, bool transparent = false);
28  ~Sdl_gl_texture(void);
29 
31  SizeF size(void) const;
32 
33  double width(void) const;
34  double height(void) const;
35 
37  bool is_valid(void) const;
38 
40  Color pixel_color(const PointF& offset, double texture_magnify) const;
41 
43  void draw(const RectF* src, const RectF& dest,
44  double z, const Angle& rotate_angle, double magnify,
45  double color_strength_ratio, double alpha,
46  bool antialiasing) const;
47 
49  bool is_transparent(void) const;
50 
52  static SDL_Surface* transparentize_sdl_surface(SDL_Surface* surface);
53 
55  static void delete_textures(void);
56 
58  static void recreate_textures(void);
59 
60  private:
61  Sdl_gl_texture(void);
62  Sdl_gl_texture(const Sdl_gl_texture& rhs);
63  Sdl_gl_texture& operator = (const Sdl_gl_texture& rhs);
64 
65  struct pImpl;
66  std::auto_ptr<pImpl> pimpl;
67  };
68 }
69 
70 #endif
SizeF size(void) const
幅と高さを返す
Definition: Sdl_gl_texture.cpp:316
矩形
static void recreate_textures(void)
既にあるテクスチャーを作り直す
Definition: Sdl_gl_texture.cpp:419
SDL_Surface の GL テクスチャー変換
Definition: Sdl_gl_texture.h:20
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
テクスチャを描画する
Definition: Sdl_gl_texture.cpp:360
Definition: Color.h:12
角度
Definition: Angle.h:13
位置
Definition: PointF.h:12
bool is_transparent(void) const
サーフェスを透過させたかを返す
Definition: Sdl_gl_texture.cpp:373
Color pixel_color(const PointF &offset, double texture_magnify) const
指定された位置の色情報を返す
Definition: Sdl_gl_texture.cpp:340
幅と高さ
Definition: SizeF.h:12
static void delete_textures(void)
既にあるテクスチャーを削除する
Definition: Sdl_gl_texture.cpp:409
矩形
Definition: RectF.h:16
bool is_valid(void) const
有効かどうか
Definition: Sdl_gl_texture.cpp:334
static SDL_Surface * transparentize_sdl_surface(SDL_Surface *surface)
(0, 0) の位置のピクセルの色を透過させる
Definition: Sdl_gl_texture.cpp:379