mirror of
https://github.com/CorsixTH/CorsixTH.git
synced 2025-07-23 04:13:01 +02:00
* Hand formatted changes before automatic formatting * Break up / shorten some long lines * Add some missing braces for clarity * Multiline strings are merged to let clang-format split them appropriately. * sdl_core's frame_count changed from a C style array to std::array which made the length checks simpler. * Add includes and forward declairs to avoid transitive dependencies * Remove th_gfx_font.h include from th_gfx.h - circular dependencies * using to shorten lines in th_map.cpp * Avoid non-portable reinterpret_cast for parcels in th_map. * Use more constants in th_map. * Use class initializer for th_map classes * Add clang files to ignore list * Add clang-format file * Reformat all files with clang-format Also includes some manual braces. * Disable clang-format for backdrop.h * Clang-format AnimView src files * clang-format common code * Fix anonymous struct in union warning Anonymous structs in anonymous unions are not supported by the standard. * Check clang-format in travis * Bin pack parameters * Bin pack arguments too * Full Google style 2 space indent, no forced break on braces. * A couple format overrides Order of usings in config.h.in since 8 is smaller than 16. Table layout, since 0x80 nicely fits in 8 columns.
93 lines
2.5 KiB
C++
93 lines
2.5 KiB
C++
/*
|
|
Copyright (c) 2009 Peter "Corsix" Cawley
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
this software and associated documentation files (the "Software"), to deal in
|
|
the Software without restriction, including without limitation the rights to
|
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
of the Software, and to permit persons to whom the Software is furnished to do
|
|
so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
SOFTWARE.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "config.h"
|
|
#include <wx/bitmap.h>
|
|
#include <wx/button.h>
|
|
#include <wx/checkbox.h>
|
|
#include <wx/frame.h>
|
|
#include <wx/listbox.h>
|
|
#include <wx/panel.h>
|
|
#include <wx/textctrl.h>
|
|
#include <wx/timer.h>
|
|
#include <wx/vscroll.h>
|
|
#include <vector>
|
|
#include "th.h"
|
|
|
|
static const int ROW_COUNT = 1000;
|
|
|
|
// Derived class to add scrollbars to the window.
|
|
class MyVScrolled : public wxVScrolledWindow {
|
|
public:
|
|
MyVScrolled(wxWindow* parent) : wxVScrolledWindow(parent, wxID_ANY) {
|
|
iMyCount = ROW_COUNT;
|
|
}
|
|
|
|
wxCoord OnGetRowHeight(size_t row) const { return 1; }
|
|
|
|
wxCoord EstimateTotalHeight() const { return iMyCount; }
|
|
|
|
int iMyCount;
|
|
};
|
|
|
|
class frmSprites : public wxFrame {
|
|
public:
|
|
frmSprites();
|
|
~frmSprites();
|
|
|
|
enum {
|
|
ID_LOAD = wxID_HIGHEST + 1,
|
|
ID_BROWSE_TABLE,
|
|
ID_BROWSE_DATA,
|
|
ID_BROWSE_PALETTE,
|
|
ID_LOAD_COMPLEX,
|
|
ID_NEXT,
|
|
};
|
|
|
|
void load(bool bComplex);
|
|
|
|
protected:
|
|
struct _sprite_t {
|
|
wxBitmap bitmap;
|
|
wxString caption;
|
|
};
|
|
|
|
void _onNext(wxCommandEvent& evt);
|
|
void _onLoad(wxCommandEvent& evt);
|
|
void _onLoadComplex(wxCommandEvent& evt);
|
|
void _onPanelPaint(wxPaintEvent& evt);
|
|
void _onBrowseData(wxCommandEvent& evt);
|
|
void _onBrowsePalette(wxCommandEvent& evt);
|
|
void _onBrowseTable(wxCommandEvent& evt);
|
|
|
|
std::vector<_sprite_t> m_vSprites;
|
|
THAnimations m_oAnims;
|
|
|
|
wxTextCtrl* m_txtTable;
|
|
wxTextCtrl* m_txtData;
|
|
wxTextCtrl* m_txtPalette;
|
|
MyVScrolled* m_panFrame;
|
|
DECLARE_EVENT_TABLE()
|
|
};
|