0ad/source/tools/atlas/AtlasUI/CustomControls/Canvas/Canvas.h
Ralph Sennhauser 7f4377c086
Treat <wx/defs.h> as private header
Add the header to iwyu mappings as private as the wx documentation
doesn't suggest otherwise.

Ref: #8086
Signed-off-by: Ralph Sennhauser <ralph.sennhauser@gmail.com>
2026-06-12 21:22:36 +02:00

49 lines
1.2 KiB
C++

/* Copyright (C) 2026 Wildfire Games.
* This file is part of 0 A.D.
*
* 0 A.D. is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* 0 A.D. is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
*/
#include <wx/event.h>
#include <wx/gdicmn.h>
#include <wx/glcanvas.h>
class wxWindow;
class Canvas : public wxGLCanvas
{
public:
Canvas(wxWindow* parent, int* attribList, long style);
void InitSize();
void SetCurrent();
protected:
virtual void HandleMouseEvent(wxMouseEvent& evt) = 0;
private:
void OnResize(wxSizeEvent& evt);
void OnMouseCaptureLost(wxMouseCaptureLostEvent& evt);
void OnMouse(wxMouseEvent& evt);
wxGLContext m_GLContext;
bool m_SuppressResize;
wxPoint m_LastMousePos;
bool m_MouseCaptured;
DECLARE_EVENT_TABLE();
};