SDXFrameWork 0.10 SDXFrameWork

- Main Page
- Related Pages
- Classes

- Class List
- Class Hierarchy
- Class Members

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

描画先を表すクラス. More...

`#include <Renderer.h>`

## Public Member Functions
| Renderer (int 幅, int 高さ)
| コンストラクタ. More...
SDL_Renderer * | GetHandle ()
| 描画ハンドルを取得. More...
bool | Create (int 幅, int 高さ)
| Windowと独立した、Rendererを生成. More...
bool | Destroy ()
| Rendererを削除. More...
bool | SetTransColor (const Color &透過色)
| 透過色を設定. More...
bool | ResetTransColor ()
| 透過色を解除. More...
bool | Draw (const Rect &領域, Renderer &コピー先=Renderer::mainRenderer)
| 対象RenderHandleにコピー. More...
bool | DrawExtend (const Rect &元範囲, const Rect &コピー先範囲, Renderer &コピー先=Renderer::mainRenderer)
| 対象RenderHandleにコピー. More...
bool | Clear ()
| 画面を消去する. More...
bool | SetTarget (Image *描画対象=nullptr)
| 描画先を変更. More...
Image * | GetTarget ()
| 現在の描画先を取得する. More...
bool | SetClip (const Rect &描画領域={0, 0, 0, 0})
| 描画領域を設定する、範囲外には描画されない. More...
void | SetBackColor (const Color &背景色)
| Screen::Clear後の色を設定. More...
void | SetBright (const Color &輝度)
| 描画輝度を設定. More...
void | SetBlendMode (BlendMode ブレンドモード, int α値)
| 描画モードを設定. More...
void | SetDrawMode (const Color &輝度＋α値=Color::White, BlendMode ブレンドモード=BlendMode::NoBlend)
| 描画輝度と描画モードをまとめて設定

## Public Attributes
BlendMode | blendMode = BlendMode::NoBlend
| 描画モード
Color | clearColor = Color(0, 0, 0)
| 消去時の色
Color | rgba = Color(255, 255, 255, 255)
| 描画輝度とα値

## Static Public Attributes
static Renderer & | mainRenderer = SubWindow::mainWindow.renderer
| メインウィンドウのレンダラー

## Friends
class | SubWindow
class | Drawing

## Detailed Description

描画先を表すクラス.

Screenに無くてRendereにある関数は[Renderer専用]と表記.

//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;
}

.

## Constructor & Destructor Documentation

SDX::Renderer::Renderer | ( | int | 幅,
|  | int | 高さ
| ) |  |

コンストラクタ.

## Member Function Documentation

SDL_Renderer* SDX::Renderer::GetHandle | ( |  | ) |

描画ハンドルを取得.

bool SDX::Renderer::Create | ( | int | 幅,
|  | int | 高さ
| ) |  |

Windowと独立した、Rendererを生成.

[Renderer専用]

bool SDX::Renderer::Destroy | ( |  | ) |

Rendererを削除.

Windowに対応して生成したRendererは削除不可. [Renderer専用]

bool SDX::Renderer::SetTransColor | ( | const Color & | 透過色 | ) |

透過色を設定.

[Renderer専用]

bool SDX::Renderer::ResetTransColor | ( |  | ) |

透過色を解除.

[Renderer専用]

bool SDX::Renderer::Draw | ( | const Rect & | 領域,
|  | Renderer & | コピー先 = `Renderer::mainRenderer`
| ) |  |

対象RenderHandleにコピー.

処理が重い、Cameraの影響を受けない [Renderer専用]

bool SDX::Renderer::DrawExtend | ( | const Rect & | 元範囲,
|  | const Rect & | コピー先範囲,
|  | Renderer & | コピー先 = `Renderer::mainRenderer`
| ) |  |

対象RenderHandleにコピー.

処理が重い、Cameraの影響を受けない [Renderer専用]

bool SDX::Renderer::Clear | ( |  | ) |

画面を消去する.

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

描画先を変更.

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

Image* SDX::Renderer::GetTarget | ( |  | ) |

現在の描画先を取得する.

デフォルトの場合nullptrを返す

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

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

幅を0にするとクリップ領域を解除する.

void SDX::Renderer::SetBackColor | ( | const Color & | 背景色 | ) |

Screen::Clear後の色を設定.

void SDX::Renderer::SetBright | ( | const Color & | 輝度 | ) |

描画輝度を設定.

α値は変更しない

void SDX::Renderer::SetBlendMode | ( | BlendMode | ブレンドモード,
|  | int | α値
| ) |  |

描画モードを設定.