|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2021 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: //
1.1.1.3 ! root 8: // バックバッファが BitmapRGBX なパネル
1.1 root 9: //
10:
11: #pragma once
12:
13: #include "wxnono.h"
14: #include "bitmap.h"
15:
16: class WXBitmapPanel : public wxPanel
17: {
18: using inherited = wxPanel;
19: public:
20: WXBitmapPanel(wxWindow *parent,
1.1.1.2 root 21: const wxPoint& position = wxDefaultPosition,
22: const wxSize& size = wxDefaultSize,
23: long style = wxTAB_TRAVERSAL);
1.1 root 24: WXBitmapPanel(wxWindow *parent, wxWindowID id,
1.1.1.2 root 25: const wxPoint& position = wxDefaultPosition,
26: const wxSize& size = wxDefaultSize,
27: long style = wxTAB_TRAVERSAL);
1.1 root 28: virtual ~WXBitmapPanel() override;
29:
1.1.1.2 root 30: // 背景色を設定する
1.1 root 31: void SetBitmapBGColor(Color c);
32:
1.1.1.2 root 33: // 背景色で塗りつぶす
34: void Fill();
35:
36: // サイズ固定。
37: // Bitmap クラスは範囲外への描画を自動クリップする機能を持っていないため、
38: // ソフトウェアキーボードウィンドウが実画面サイズを超えるようなケースで
39: // あっても、バックバッファは表示ウィンドウサイズと同じにするのではなく
40: // 常に指定の大きさで存在していてほしい。という時に指定する。
41: // バックバッファより小さいウィンドウへの描画は問題なく行えるっぽい?。
42: // 一方、自前スクロールバーのように、制約なく指定サイズを受け入れる場合は
43: // (0, 0) を指定する (デフォルト)。
44: void SetFixedSize(const wxSize& size);
45:
1.1 root 46: protected:
47: void OnSize(wxSizeEvent&);
48: void OnPaint(wxPaintEvent&);
49:
50: virtual void Draw();
51:
1.1.1.3 ! root 52: BitmapRGBX bitmap {};
1.1 root 53:
1.1.1.2 root 54: // 固定サイズ指定
55: wxSize fixedsize {};
56:
1.1 root 57: private:
1.1.1.3 ! root 58: BitmapRGB bitmap24 {};
! 59:
1.1 root 60: Color bitmap_bgcolor;
61:
62: wxDECLARE_EVENT_TABLE();
63: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.