DXフレームワーク　リファレンス・マニュアル 0.01 DXフレームワークのリファレンスです。詳細は公式wiki

- メインページ
- 関連ページ
- クラス
- ファイル

- ファイル一覧

BmpFrame.h
1 #pragma once
2 #include "Image.h"
3 #include "Font.h"
4 #include "BmpFont.h"
5 #include "Anime.h"
6
7 namespace DXFW
8 {
22 class BmpFrame
23 {
24 private:
25 bool isMake;
26 int frameWidth;
27 int frameHeight;
28 ImagePack *frame;
29 Image *skinn;
30 public:
31
32 BmpFrame(void){};
33 ~BmpFrame(void){};
34
38 bool Make( ImagePack &外枠 , Image *内側スキン = nullptr )
39 {
40 if( 外枠.GetSize() != 9 ) return false;
41
42 if( 内側スキン == nullptr )
43 {
44 this->skinn = 外枠[4];
45 }else{
46 this->skinn = 内側スキン;
47 }
48
49 this->frame = &外枠;
50
51 this->isMake = true;
52
53 this->frameWidth = 外枠.GetWidth();
54 this->frameHeight = 外枠.GetHeight();
55
56 return true;
57 }
58
61 bool Draw( int x , int y , int width , int height ) const
62 {
63 bool isOK = true;
64
65 int xA = x + this->frameWidth;
66 int xB = x - this->frameWidth + width;
67 int yA = y + this->frameHeight;
68 int yB = y - this->frameHeight + height;
69
70 if( !this->skinn->DrawExtend( x+6, y+6 , x+width , y+height ) ) isOK = false;
71
72 //まず外枠を描画
73 if( !this->frame[0][3]->DrawExtend( x , yA , xA , yB) ) isOK = false;
74 if( !this->frame[0][5]->DrawExtend( xB , yA , xB + this->frameWidth , yB) ) isOK = false;
75
76 if( !this->frame[0][1]->DrawExtend( xA , y ,xB ,yA) ) isOK = false;
77 if( !this->frame[0][7]->DrawExtend( xA , yB ,xB ,yB + this->frameHeight) ) isOK = false;
78
79 //四隅を描画
80 if( !this->frame[0][0]->Draw( x , y ) ) isOK = false;
81 if( !this->frame[0][2]->Draw( x + width - this->frameWidth, y ) ) isOK = false;
82 if( !this->frame[0][6]->Draw( x , y + height - this->frameHeight) ) isOK = false;
83 if( !this->frame[0][8]->Draw( x + width - this->frameWidth, y + height - this->frameHeight) ) isOK = false;
84
85 return true;
86 }
87 };
88 }
DXFW::ImagePack::GetWidth
int GetWidth() const
最大幅を取得
Definition: Image.h:410
DXFW::ImagePack
複数のImageをまとめるクラス
Definition: Image.h:306
DXFW::ImagePack::GetHeight
int GetHeight() const
最大高さを取得
Definition: Image.h:416
DXFW::ImagePack::GetSize
int GetSize() const
要素数を取得
Definition: Image.h:404
DXFW::Image
画像クラス。ロードしたファイルの描画等。
Definition: Image.h:51
DXFW::Image::DrawExtend
bool DrawExtend(int X座標A, int Y座標A, int X座標B, int Y座標B) const
指定矩形内に描画
Definition: Image.h:183
DXFW::BmpFrame
カスタマイズした枠のクラス
Definition: BmpFrame.h:22
DXFW::BmpFrame::Make
bool Make(ImagePack &外枠, Image *内側スキン=nullptr)
Definition: BmpFrame.h:38