ui/winui/icons.cpp

branch
newapi
changeset 215
1bd5534c395d
parent 213
7e39db525fd9
child 216
391c2c723029
equal deleted inserted replaced
214:279c0c81d3b1 215:1bd5534c395d
31 #include "icons.h" 31 #include "icons.h"
32 32
33 #include <stdlib.h> 33 #include <stdlib.h>
34 #include <string.h> 34 #include <string.h>
35 35
36 #include "util.h"
36 37
37 using namespace winrt; 38 using namespace winrt;
38 using namespace Microsoft::UI::Xaml; 39 using namespace Microsoft::UI::Xaml;
39 using namespace Microsoft::UI::Xaml::Controls; 40 using namespace Microsoft::UI::Xaml::Controls;
40 using namespace Windows::UI::Xaml::Interop; 41 using namespace Windows::UI::Xaml::Interop;
250 251
251 Symbol symbol = ui_symbol_icons[name]; 252 Symbol symbol = ui_symbol_icons[name];
252 SymbolIcon icon = SymbolIcon(symbol); 253 SymbolIcon icon = SymbolIcon(symbol);
253 return icon; 254 return icon;
254 } 255 }
256
257
258 // symbol icon implementation
259 UiSymbolIcon::UiSymbolIcon(winrt::Microsoft::UI::Xaml::Controls::Symbol sym) {
260 symbol = sym;
261 }
262
263 UiSymbolIcon::~UiSymbolIcon() {
264
265 }
266
267 winrt::Microsoft::UI::Xaml::Controls::IconElement UiSymbolIcon::getIcon() {
268 return SymbolIcon(symbol);
269 }
270
271 // image icon implementation
272 UiImageIcon::UiImageIcon(const char* uristr) {
273 wchar_t* wuri = str2wstr(uristr, nullptr);
274 Windows::Foundation::Uri uri{ wuri };
275 this->uri = uri;
276 free(wuri);
277 }
278
279 UiImageIcon::~UiImageIcon() {
280
281 }
282
283 winrt::Microsoft::UI::Xaml::Controls::IconElement UiImageIcon::getIcon() {
284 BitmapIcon icon = BitmapIcon();
285 icon.UriSource(uri);
286 return icon;
287 }
288
289 UIEXPORT UiIcon* ui_icon(const char* name, size_t size) {
290 Symbol symbol = ui_symbol_icons[name];
291 UiSymbolIcon* icon = new UiSymbolIcon(symbol);
292 return icon;
293 }
294
295
296 UIEXPORT UiIcon* ui_imageicon(const char* file) {
297 return new UiImageIcon(file);
298 }
299
300 UIEXPORT void ui_icon_free(UiIcon* icon) {
301 delete icon;
302 }

mercurial