wxMaxima
Loading...
Searching...
No Matches
wxMaximaArtProvider.h
Go to the documentation of this file.
1// -*- mode: c++; c-file-style: "linux"; c-basic-offset: 2; indent-tabs-mode:
2// nil -*-
3//
4// Copyright (C) 2026 Wolfgang Dautermann
5//
6// This program is free software; you can redistribute it and/or modify
7// it under the terms of the GNU General Public License as published by
8// the Free Software Foundation; either version 2 of the License, or
9// (at your option) any later version.
10//
11// This program is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15//
16//
17// You should have received a copy of the GNU General Public License
18// along with this program; if not, write to the Free Software
19// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20//
21// SPDX-License-Identifier: GPL-2.0+
22
27#ifndef WXMAXIMAARTPROVIDER_H
28#define WXMAXIMAARTPROVIDER_H
29
30
31// only use that for recent wxWidgets versions
32#include <wx/version.h>
33
34#include <wx/artprov.h>
35
36// from art:
37#define wxmaximaART_MEDIA_PLAYBACK_START wxART_MAKE_ART_ID(wxmaximaART_MEDIA_PLAYBACK_START)
38#define wxmaximaART_MEDIA_PLAYBACK_REVERSE wxART_MAKE_ART_ID(wxmaximaART_MEDIA_PLAYBACK_REVERSE)
39
40// from art/toolbar:
41#define wxmaximaART_ARROW_UP_SQUARE wxART_MAKE_ART_ID(wxmaximaART_ARROW_UP_SQUARE)
42#define wxmaximaART_DIALOG_INFORMATION wxART_MAKE_ART_ID(wxmaximaART_DIALOG_INFORMATION)
43#define wxmaximaART_EYE_SLASH wxART_MAKE_ART_ID(wxmaximaART_EYE_SLASH)
44#define wxmaximaART_GO_BOTTOM wxART_MAKE_ART_ID(wxmaximaART_GO_BOTTOM)
45#define wxmaximaART_GO_JUMP wxART_MAKE_ART_ID(wxmaximaART_GO_JUMP)
46#define wxmaximaART_GO_LAST wxART_MAKE_ART_ID(wxmaximaART_GO_LAST)
47#define wxmaximaART_GO_NEXT wxART_MAKE_ART_ID(wxmaximaART_GO_NEXT)
48#define wxmaximaART_GTK_PREFERENCES wxART_MAKE_ART_ID(wxmaximaART_GTK_PREFERENCES)
49#define wxmaximaART_GTK_SELECT_ALL wxART_MAKE_ART_ID(wxmaximaART_GTK_SELECT_ALL)
50#define wxmaximaART_GTK_STOP wxART_MAKE_ART_ID(wxmaximaART_GTK_STOP)
51#define wxmaximaART_INPUT wxART_MAKE_ART_ID(wxmaximaART_INPUT)
52#define wxmaximaART_MEDIA_PLAYBACK_STOP wxART_MAKE_ART_ID(wxmaximaART_MEDIA_PLAYBACK_STOP)
53#define wxmaximaART_SOFTWARE_UPDATE_URGENT wxART_MAKE_ART_ID(wxmaximaART_SOFTWARE_UPDATE_URGENT)
54#define wxmaximaART_SYNC_HORIZONTAL wxART_MAKE_ART_ID(wxmaximaART_SYNC_HORIZONTAL)
55#define wxmaximaART_TEXT wxART_MAKE_ART_ID(wxmaximaART_TEXT)
56#define wxmaximaART_VIEW_REFRESH1 wxART_MAKE_ART_ID(wxmaximaART_VIEW_REFRESH1)
57
58// from art/config
59#define wxmaximaART_CONFIG_DOCUMENT_EXPORT wxART_MAKE_ART_ID(wxmaximaART_CONFIG_DOCUMENT_EXPORT)
60#define wxmaximaART_CONFIG_EDIT_COPY_BACKUP wxART_MAKE_ART_ID(wxmaximaART_CONFIG_EDIT_COPY_BACKUP)
61#define wxmaximaART_CONFIG_EDIT_COPY_CONFDIALOGUE wxART_MAKE_ART_ID(wxmaximaART_CONFIG_EDIT_COPY_CONFDIALOGUE)
62#define wxmaximaART_CONFIG_EDITING wxART_MAKE_ART_ID(wxmaximaART_CONFIG_EDITING)
63#define wxmaximaART_CONFIG_MAXIMA wxART_MAKE_ART_ID(wxmaximaART_CONFIG_MAXIMA)
64#define wxmaximaART_CONFIG_OPTIONS wxART_MAKE_ART_ID(wxmaximaART_CONFIG_OPTIONS)
65#define wxmaximaART_CONFIG_STYLES wxART_MAKE_ART_ID(wxmaximaART_CONFIG_STYLES)
66#define wxmaximaART_CONFIG_VIEW_REFRESH wxART_MAKE_ART_ID(wxmaximaART_CONFIG_VIEW_REFRESH)
67#define wxmaximaART_CONFIG_EDITING wxART_MAKE_ART_ID(wxmaximaART_CONFIG_EDITING)
68#define wxmaximaART_CONFIG_ACCESSIBILITY wxART_MAKE_ART_ID(wxmaximaART_CONFIG_ACCESSIBILITY)
69#define wxmaximaART_CONFIG_AI_CHAT wxART_MAKE_ART_ID(wxmaximaART_CONFIG_AI_CHAT)
70
71
72class wxMaximaArtProvider : public wxArtProvider
73{
74protected:
75 // Override this method to return a bundle containing the required
76 // bitmap in all available sizes.
77 wxBitmapBundle CreateBitmapBundle(const wxArtID& id,
78 const wxArtClient& client,
79 const wxSize& size) override;
80
81private:
82 // gunzip the (gzip compressed) SVG in Memory
83 wxString gunzip(unsigned char * svg_gz, size_t svg_gz_size);
84};
85
86#endif // WXMAXIMAARTPROVIDER_H
Definition: wxMaximaArtProvider.h:73