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#define wxmaximaART_FORMAT_TEXT_BOLD wxART_MAKE_ART_ID(wxmaximaART_FORMAT_TEXT_BOLD)
58#define wxmaximaART_FORMAT_TEXT_ITALIC wxART_MAKE_ART_ID(wxmaximaART_FORMAT_TEXT_ITALIC)
59#define wxmaximaART_FORMAT_TEXT_UNDERLINE wxART_MAKE_ART_ID(wxmaximaART_FORMAT_TEXT_UNDERLINE)
60#define wxmaximaART_FORMAT_TEXT_STRIKETHROUGH wxART_MAKE_ART_ID(wxmaximaART_FORMAT_TEXT_STRIKETHROUGH)
61#define wxmaximaART_FORMAT_TEXT_SUPERSCRIPT wxART_MAKE_ART_ID(wxmaximaART_FORMAT_TEXT_SUPERSCRIPT)
62#define wxmaximaART_FORMAT_TEXT_SUBSCRIPT wxART_MAKE_ART_ID(wxmaximaART_FORMAT_TEXT_SUBSCRIPT)
63
64// from art/config
65#define wxmaximaART_CONFIG_DOCUMENT_EXPORT wxART_MAKE_ART_ID(wxmaximaART_CONFIG_DOCUMENT_EXPORT)
66#define wxmaximaART_CONFIG_EDIT_COPY_BACKUP wxART_MAKE_ART_ID(wxmaximaART_CONFIG_EDIT_COPY_BACKUP)
67#define wxmaximaART_CONFIG_EDIT_COPY_CONFDIALOGUE wxART_MAKE_ART_ID(wxmaximaART_CONFIG_EDIT_COPY_CONFDIALOGUE)
68#define wxmaximaART_CONFIG_EDITING wxART_MAKE_ART_ID(wxmaximaART_CONFIG_EDITING)
69#define wxmaximaART_CONFIG_MAXIMA wxART_MAKE_ART_ID(wxmaximaART_CONFIG_MAXIMA)
70#define wxmaximaART_CONFIG_OPTIONS wxART_MAKE_ART_ID(wxmaximaART_CONFIG_OPTIONS)
71#define wxmaximaART_CONFIG_STYLES wxART_MAKE_ART_ID(wxmaximaART_CONFIG_STYLES)
72#define wxmaximaART_CONFIG_VIEW_REFRESH wxART_MAKE_ART_ID(wxmaximaART_CONFIG_VIEW_REFRESH)
73#define wxmaximaART_CONFIG_EDITING wxART_MAKE_ART_ID(wxmaximaART_CONFIG_EDITING)
74#define wxmaximaART_CONFIG_ACCESSIBILITY wxART_MAKE_ART_ID(wxmaximaART_CONFIG_ACCESSIBILITY)
75#define wxmaximaART_CONFIG_AI_CHAT wxART_MAKE_ART_ID(wxmaximaART_CONFIG_AI_CHAT)
76#define wxmaximaART_CONFIG_TOOLBAR wxART_MAKE_ART_ID(wxmaximaART_CONFIG_TOOLBAR)
77
78
79class wxMaximaArtProvider : public wxArtProvider
80{
81protected:
82 // Override this method to return a bundle containing the required
83 // bitmap in all available sizes.
84 wxBitmapBundle CreateBitmapBundle(const wxArtID& id,
85 const wxArtClient& client,
86 const wxSize& size) override;
87
88private:
89 // gunzip the (gzip compressed) SVG in Memory
90 wxString gunzip(unsigned char * svg_gz, size_t svg_gz_size);
91};
92
93#endif // WXMAXIMAARTPROVIDER_H
Definition: wxMaximaArtProvider.h:80