SDXFrameWork 0.12 SDXFrameWork

- Main Page
- Related Pages
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Static Public Member Functions | List of all members
SDX::Screen Class Reference

アクティブなRendererを操作するクラス. More...

`#include <Screen.h>`

## Static Public Member Functions
static SDL_Renderer * | GetHandle ()
| スクリーンハンドルを取得. More...
static Renderer * | GetRenderer ()
| アクティブなRendererを取得. More...
static void | SetRenderer (Renderer &描画先Renderer=Renderer::mainRenderer)
| アクティブなRendererを設定. More...
static bool | SetTarget (Image *描画対象=nullptr)
| 描画先を変更. More...
static Image * | GetTarget ()
| 描画先Imageを取得. More...
static bool | Flip ()
| 描画内容を反映. More...
static bool | Clear ()
| 画面を消去する. More...
static bool | SetClip (const Rect &非描画領域={0, 0, 0, 0})
| 描画領域を設定する、設定範囲外には描画されない. More...
static void | SetBackColor (const Color &背景色)
| Screen::Clear後の色を設定. More...
static void | SetBright (const Color &輝度=Color::White)
| 描画輝度を設定. More...
static void | SetBlendMode (BlendMode ブレンドモード=BlendMode::NoBlend, int 設定値=255)
| ブレンド描画のモードを設定. More...
static void | SetDrawMode (const Color &輝度＋α値=Color::White, BlendMode ブレンドモード=BlendMode::Alpha)
| 描画輝度と描画モードをまとめて設定

## Detailed Description

アクティブなRendererを操作するクラス.

ScreenにあってRendereに無い関数は[Screen専用]と表記.

//Copyright © 2014 SDXFramework
//[License]GNU Affero General Public License, version 3
//[Contact]http://sourceforge.jp/projects/dxframework/
//初期化を行い何かキーを押すと終了する
#include <SDXFramework.h>
bool SampleScreen()
{
using namespace SDX;
System::Initialise("sample", 640, 480);
Image image("data/pipo-enemy035.png");
Image back;
back.Make(640, 480);
while (System::Update())
{
//背景描画
back.Draw({ 0, 0 });
//輝度を変更して描画
Screen::SetBright(Color::Red);
image.Draw({ 0, 0 });
Screen::SetBright(Color::Green);
image.Draw({ 100, 0 });
Screen::SetBright(Color::Blue);
image.Draw({ 200, 0 });
//描画モード変更
Screen::SetDrawMode({ 255, 255, 255, 128 }, BlendMode::Alpha);
image.Draw({ 300, 0 });
Screen::SetDrawMode({ 255, 255, 255, 128 }, BlendMode::Add);
image.Draw({ 400, 0 });
Screen::SetDrawMode({ 255, 255, 255, 128 }, BlendMode::Mula);
image.Draw({ 500, 0 });
Screen::SetDrawMode();//引数無しで解除
//描画範囲制御
Screen::SetClip({ 0, 100 , 60, 120 });
image.Draw({ 0, 100 });
Screen::SetClip();//引数無しで解除
//描画先変更
Screen::SetTarget(&back);
Drawing::Rect({ Rand::Get(590), Rand::Get(430), 50, 50 },Color::Gray);
Screen::SetTarget();
if (Input::key.Return.on){ break;}//Enterで終了
}
System::End();
return true;
}

## Member Function Documentation

static SDL_Renderer* SDX::Screen::GetHandle | ( |  | ) |
| inline static

スクリーンハンドルを取得.

[Screen専用]

static Renderer* SDX::Screen::GetRenderer | ( |  | ) |
| inline static

アクティブなRendererを取得.

[Screen専用]

static void SDX::Screen::SetRenderer | ( | Renderer & | 描画先Renderer = `Renderer::mainRenderer` | ) |
| inline static

アクティブなRendererを設定.

[Screen専用]

static bool SDX::Screen::SetTarget | ( | Image * | 描画対象 = `nullptr` | ) |
| inline static

描画先を変更.

引数がnullptrの場合、デフォルトに戻す Image::Makeで作成したTextureのみ有効.

static Image* SDX::Screen::GetTarget | ( |  | ) |
| inline static

描画先Imageを取得.

返り値がnullptrの場合、デフォルトの描画先

static bool SDX::Screen::Flip | ( |  | ) |
| inline static

描画内容を反映.

[Screen専用]

static bool SDX::Screen::Clear | ( |  | ) |
| inline static

画面を消去する.

static bool SDX::Screen::SetClip | ( | const Rect & | 非描画領域 = `{0,0,0,0}` | ) |
| inline static

描画領域を設定する、設定範囲外には描画されない.

Rectの幅を0にするとクリップ領域が解除される.

static void SDX::Screen::SetBackColor | ( | const Color & | 背景色 | ) |
| inline static

Screen::Clear後の色を設定.

static void SDX::Screen::SetBright | ( | const Color & | 輝度 = `Color::White` | ) |
| inline static

描画輝度を設定.

static void SDX::Screen::SetBlendMode | ( | BlendMode | ブレンドモード = `BlendMode::NoBlend`,
|  | int | 設定値 = `255`
| ) |  |
| inline static

ブレンド描画のモードを設定.