SavvyUI C++ UI Library
Loading...
Searching...
No Matches
GraphicsContext.h
Go to the documentation of this file.
1#pragma once
2#include "Common.h"
3#include "Graphics.h"
4
13{
14
15 static IStream* CreateStreamFromMemory(const BYTE* buffer, size_t size);
16
17public:
18
24 static void initGdiPlus();
25
31 static void terminateGdiPlus();
32
38 static Gdiplus::Image* imageFileToImage(const wstring& filePath);
39
44 static Gdiplus::Image* imageBytesToImage(const BYTE* imageBytes, size_t size);
45
50 static Gdiplus::Image* imageResourceToImage(HINSTANCE hInst, int resourceID, const ImageType& imageType);
51
60 static void drawImageFile(Graphics *g, Bounds rect, const wstring& filePath,
61 const ImageAlignment& alignment = ImageAlignment::TOPCENTER, BOOL showBorder = FALSE);
62
71 static void drawImage(Graphics *g, Bounds rect, Gdiplus::Image* image,
72 const ImageAlignment& alignment = ImageAlignment::TOPCENTER, BOOL showBorder = FALSE);
73
83 static void drawImageBytes(Graphics *g, Bounds rect, const BYTE* imageBytes, size_t size,
84 const ImageAlignment& alignment = ImageAlignment::TOPCENTER, BOOL showBorder = FALSE);
85
94 static void drawImageResource(Graphics *g, Bounds rect, int resourceID, const ImageType& imageType,
95 const ImageAlignment& alignment = ImageAlignment::TOPCENTER, BOOL showBorder = FALSE);
96
100 static void linearGradient(Graphics *g, Bounds rect, int startR, int startG, int startB,
101 int endR, int endG, int endB,
102 int startAlpha = 0, int endAlpha = 0, BOOL directionVertical = TRUE,
103 const wstring& text = L"", int textR = 0, int textG = 0, int textB = 0);
104};
105
ImageType
Definition Common.h:133
ImageAlignment
Definition Common.h:121
@ TOPCENTER
Definition Common.h:123
Definition Common.h:20
Provides static methods for GDI+ initialization and image rendering.
Definition GraphicsContext.h:13
static void linearGradient(Graphics *g, Bounds rect, int startR, int startG, int startB, int endR, int endG, int endB, int startAlpha=0, int endAlpha=0, BOOL directionVertical=TRUE, const wstring &text=L"", int textR=0, int textG=0, int textB=0)
Fills a rect with a linear gradient colors.
static void terminateGdiPlus()
Terminates the GDI+ library and frees resources.
static void drawImageBytes(Graphics *g, Bounds rect, const BYTE *imageBytes, size_t size, const ImageAlignment &alignment=ImageAlignment::TOPCENTER, BOOL showBorder=FALSE)
Draws an image represented by a byte array onto a device context.
static Gdiplus::Image * imageResourceToImage(HINSTANCE hInst, int resourceID, const ImageType &imageType)
Loads a PNG, GIF, or JPG image using its resource ID from .rc file as a GDI+ Image object.
static Gdiplus::Image * imageFileToImage(const wstring &filePath)
Loads an image from a file path into a GDI+ Image object.
static Gdiplus::Image * imageBytesToImage(const BYTE *imageBytes, size_t size)
Loads an image from a byte array into a GDI+ Image object.
static void initGdiPlus()
Initializes the GDI+ library.
static void drawImageResource(Graphics *g, Bounds rect, int resourceID, const ImageType &imageType, const ImageAlignment &alignment=ImageAlignment::TOPCENTER, BOOL showBorder=FALSE)
Draws a GDI+ Image onto a device context.
static void drawImage(Graphics *g, Bounds rect, Gdiplus::Image *image, const ImageAlignment &alignment=ImageAlignment::TOPCENTER, BOOL showBorder=FALSE)
Draws a GDI+ Image onto a device context.
static void drawImageFile(Graphics *g, Bounds rect, const wstring &filePath, const ImageAlignment &alignment=ImageAlignment::TOPCENTER, BOOL showBorder=FALSE)
Draws an image loaded from a file onto a device context.
Definition Graphics.h:161