Annotation of nono/wx/wxmainview.h, revision 1.1.1.13

1.1       root        1: //
                      2: // nono
1.1.1.4   root        3: // Copyright (C) 2020 nono project
                      4: // Licensed under nono-license.txt
1.1       root        5: //
                      6: 
1.1.1.11  root        7: //
                      8: // メイン画面パネル
                      9: //
                     10: 
1.1       root       11: #pragma once
                     12: 
1.1.1.9   root       13: #include "wxnono.h"
1.1       root       14: 
1.1.1.13! root       15: wxDECLARE_EVENT(NONO_EVT_MOUSEMODE, wxCommandEvent);
        !            16: 
        !            17: class Keyboard;
        !            18: class Renderer;
        !            19: 
1.1.1.9   root       20: class WXMainView : public wxPanel
1.1       root       21: {
1.1.1.4   root       22:        using inherited = wxPanel;
1.1       root       23:  public:
                     24:        WXMainView(wxWindow *);
1.1.1.7   root       25:        virtual ~WXMainView() override;
1.1       root       26: 
1.1.1.10  root       27:        bool Init();
                     28: 
1.1.1.11  root       29:        void Close();
1.1       root       30:        void DoResize(double scale);
                     31: 
                     32:        // 現在のスケールを返す
                     33:        double GetScale() const;
                     34:        // 現在のスケール (wxapp が初期値を指定するため static 変数にしてある)
                     35:        static double screen_scale;
                     36: 
1.1.1.10  root       37:        // 文字入力モードを取得・設定
                     38:        bool GetCharInputMode() const { return is_charinput; }
                     39:        void SetCharInputMode(bool enable);
                     40: 
1.1.1.2   root       41:        // マウスモードを設定
                     42:        void SetMouseMode(bool enable);
                     43:        // マウスモードを取得 (キャプチャされているなら true)
                     44:        bool GetMouseMode() const { return mousemode; }
1.1.1.4   root       45:        // アクティベートイベント
                     46:        void OnActivate(wxActivateEvent& event);
1.1.1.2   root       47: 
1.1.1.8   root       48:        // キー入力イベント (WXSoftKeyPanel からも呼ばれる)
                     49:        void OnKeyDown(wxKeyEvent& event);
                     50:        void OnKeyUp(wxKeyEvent& event);
1.1.1.10  root       51:        void OnChar(wxKeyEvent& event);
1.1.1.8   root       52: 
1.1       root       53:  private:
1.1.1.5   root       54:        void OnTimer(wxTimerEvent& event);
1.1       root       55:        void OnPaint(wxPaintEvent& event);
1.1.1.2   root       56:        void OnMouse(wxMouseEvent& event);
1.1.1.12  root       57:        void OnMouseCaptureLost(wxMouseCaptureLostEvent& event);
1.1.1.11  root       58:        void OnRender(wxCommandEvent& event);
1.1.1.13! root       59:        void OnMouseMode(wxCommandEvent& event);
1.1       root       60: 
                     61:        // 仮想画面サイズ (ピクセル)
1.1.1.6   root       62:        int rendwidth {};
                     63:        int rendheight {};
1.1       root       64: 
                     65:        // 実画面サイズ (ピクセル)
1.1.1.6   root       66:        int viewwidth {};
                     67:        int viewheight {};
1.1       root       68: 
                     69:        // 共通キーコードを取得する
                     70:        int GetKeyCode(wxKeyEvent& event);
                     71: 
1.1.1.8   root       72:        static const int keycode_table[0x190];
1.1       root       73: 
1.1.1.10  root       74:        // 文字入力モードなら true
                     75:        bool is_charinput {};
                     76: 
1.1.1.2   root       77:        // マウスモード (キャプチャしていれば true)
1.1.1.6   root       78:        bool mousemode {};
1.1.1.3   root       79:        // 前回のマウス座標とボタン
1.1.1.2   root       80:        wxPoint prevpos {};
1.1.1.3   root       81:        bool prevlb {};
                     82:        bool prevmb {};
                     83:        bool prevrb {};
                     84: 
1.1.1.2   root       85:        // WarpPointer() による移動検出用
1.1.1.6   root       86:        bool motion_by_warp_pointer {};
1.1.1.2   root       87:        // マウスカーソルを移動させる
                     88:        void MyWarpPointer(wxSize pos);
                     89: 
1.1.1.13! root       90:        Keyboard *keyboard {};
        !            91:        Renderer *renderer {};
        !            92: 
1.1       root       93:        wxDECLARE_EVENT_TABLE();
                     94: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.