SDXFrameWork  0.13
SDXFrameWork
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Screen.h
1 //Copyright © 2014 SDXFramework
2 //[License]GNU Affero General Public License, version 3
3 //[Contact]http://sourceforge.jp/projects/dxframework/
4 #pragma once
5 #include <Multimedia/SDX.h>
6 #include <Multimedia/Color.h>
7 #include <Multimedia/Renderer.h>
8 #include <Framework/Shape.h>
9 
10 namespace SDX
11 {
12  class Image;
16  class Screen
17  {
18  private:
19  MONO_STATE(Screen)
20 
21  static Renderer *activeRenderer;
22  public:
23 
26  static SDL_Renderer* GetHandle()
27  {
28  return activeRenderer->GetHandle();
29  }
30 
34  {
35  return activeRenderer;
36  }
37 
40  static void SetRenderer(Renderer &描画先Renderer = Renderer::mainRenderer)
41  {
42  activeRenderer = &描画先Renderer;
43  }
44 
48  static bool SetTarget(Image *描画対象 = nullptr)
49  {
50  return activeRenderer->SetTarget(描画対象);
51  }
52 
55  static Image* GetTarget()
56  {
57  return activeRenderer->GetTarget();
58  }
59 
62  static bool Flip()
63  {
64  SDL_RenderPresent(GetHandle());
65  return true;
66  }
67 
69  static bool Clear()
70  {
71  return activeRenderer->Clear();
72  }
73 
76  static bool SetClip(const Rect &非描画領域 = {0,0,0,0})
77  {
78  return activeRenderer->SetClip(非描画領域);
79  }
80 
82  static void SetBackColor(const Color &背景色)
83  {
84  activeRenderer->SetBackColor(背景色);
85  }
86 
88  static void SetBright(const Color &輝度 = Color::White)
89  {
90  activeRenderer->SetBright(輝度);
91  }
92 
94  static void SetBlendMode(BlendMode ブレンドモード = BlendMode::NoBlend, int 設定値 = 255)
95  {
96  activeRenderer->SetBlendMode(ブレンドモード,設定値);
97  }
98 
100  static void SetDrawMode(const Color &輝度+α値 = Color::White, BlendMode ブレンドモード = BlendMode::Alpha)
101  {
102  activeRenderer->SetDrawMode(輝度+α値,ブレンドモード);
103  }
104  };
105 }
アクティブなRendererを操作するクラス.
Definition: Screen.h:16
矩形を表す図形クラス.
Definition: Rect.h:22
static Image * GetTarget()
描画先Imageを取得.
Definition: Screen.h:55
static bool SetClip(const Rect &非描画領域={0, 0, 0, 0})
描画領域を設定する、設定範囲外には描画されない.
Definition: Screen.h:76
static bool Flip()
描画内容を反映.
Definition: Screen.h:62
ブレンドしない
static Renderer * GetRenderer()
アクティブなRendererを取得.
Definition: Screen.h:33
static bool Clear()
画面を消去する.
Definition: Screen.h:69
bool SetClip(const Rect &描画領域={0, 0, 0, 0})
描画領域を設定する、範囲外には描画されない.
Definition: Renderer.h:191
static bool SetTarget(Image *描画対象=nullptr)
描画先を変更.
Definition: Screen.h:48
SDL_Renderer * GetHandle()
描画ハンドルを取得.
Definition: Renderer.h:69
static const Color White
白 [RGB]255,255,255
Definition: Color.h:81
画像データを表すクラス.
Definition: Image.h:17
描画先を表すクラス.
Definition: Renderer.h:27
色を表すクラス.
Definition: Color.h:11
bool Clear()
画面を消去する.
Definition: Renderer.h:161
Image * GetTarget()
現在の描画先を取得する.
Definition: Renderer.h:184
bool SetTarget(Image *描画対象=nullptr)
描画先を変更.
Definition: SDXafx.h:80
static SDL_Renderer * GetHandle()
スクリーンハンドルを取得.
Definition: Screen.h:26
static void SetRenderer(Renderer &描画先Renderer=Renderer::mainRenderer)
アクティブなRendererを設定.
Definition: Screen.h:40
static void SetDrawMode(const Color &輝度+α値=Color::White, BlendMode ブレンドモード=BlendMode::Alpha)
描画輝度と描画モードをまとめて設定
Definition: Screen.h:100
static void SetBlendMode(BlendMode ブレンドモード=BlendMode::NoBlend, int 設定値=255)
ブレンド描画のモードを設定.
Definition: Screen.h:94
αブレンド
void SetDrawMode(const Color &輝度+α値=Color::White, BlendMode ブレンドモード=BlendMode::NoBlend)
描画輝度と描画モードをまとめて設定
Definition: Renderer.h:237
void SetBlendMode(BlendMode ブレンドモード, int α値)
描画モードを設定.
Definition: Renderer.h:227
static Renderer & mainRenderer
メインウィンドウのレンダラー
Definition: Renderer.h:49
static void SetBackColor(const Color &背景色)
Screen::Clear後の色を設定.
Definition: Screen.h:82
void SetBackColor(const Color &背景色)
Screen::Clear後の色を設定.
Definition: Renderer.h:214
void SetBright(const Color &輝度)
描画輝度を設定.
Definition: Renderer.h:221
static void SetBright(const Color &輝度=Color::White)
描画輝度を設定.
Definition: Screen.h:88
BlendMode
ブレンドモード.
Definition: Renderer.h:14