aboutsummaryrefslogtreecommitdiff
path: root/src/binres/binres.cpp
blob: 411a024a665e3c9741f0c5000848351fad44a6ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include "binres.hpp"
#include <unordered_map>

// Embedded binary data (e.g: PGNs icons):
#include "binary_data.hpp"

wxBitmap LoadPNG(std::string icon, wxSize size) {
  wxImage img = LoadPNG(icon).ConvertToImage();
  return (wxBitmap(
      img.Scale(size.GetWidth(), size.GetHeight(), wxIMAGE_QUALITY_HIGH)));
}

wxBitmap LoadPNG(std::string icon) {
  std::unordered_map<std::string, wxBitmap> u = {
    {"ui_zoom_in", wxBITMAP_PNG_FROM_DATA(ui_zoom_in)},
    {"ui_zoom_out", wxBITMAP_PNG_FROM_DATA(ui_zoom_out)},
    {"ui_coins_swap", wxBITMAP_PNG_FROM_DATA(ui_coins_swap)},
    {"ui_eye_close", wxBITMAP_PNG_FROM_DATA(ui_eye_close)},
    {"ui_copy", wxBITMAP_PNG_FROM_DATA(ui_copy)},
    {"ui_save_floppy_disk", wxBITMAP_PNG_FROM_DATA(ui_save_floppy_disk)},
    {"mat", wxBITMAP_PNG_FROM_DATA(mat)},
    {"ochess", wxBITMAP_PNG_FROM_DATA(ochess)},
    {"cburnett", wxBITMAP_PNG_FROM_DATA(cburnett)},
    {"chesscom_8bits", wxBITMAP_PNG_FROM_DATA(chesscom_8bits)}
  };
  // Return png if exists
  if(u.count(icon)){
    return u[icon];
  }
  // Otherwise null bitmap
  return (wxNullBitmap);
}