mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-10 09:40:53 +01:00
Fix compilation.
This commit is contained in:
parent
5ed385d3fa
commit
255c331069
@ -475,15 +475,15 @@ void XImage::Draw(INTN x, INTN y, float scale)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
EFI_STATUS XImage::LoadImage(EFI_FILE *BaseDir, XStringW& FileName)
|
EFI_STATUS XImage::LoadImage(EFI_FILE *BaseDir, const XStringW& FileName)
|
||||||
{
|
{
|
||||||
EFI_STATUS Status = EFI_NOT_FOUND;
|
EFI_STATUS Status = EFI_NOT_FOUND;
|
||||||
UINT8 *FileData = NULL;
|
UINT8 *FileData = NULL;
|
||||||
UINTN FileDataLength = 0;
|
UINTN FileDataLength = 0;
|
||||||
|
|
||||||
if (TypeSVG) {
|
// if (TypeSVG) {
|
||||||
return EFI_SUCCESS;
|
// return EFI_SUCCESS;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (BaseDir == NULL || FileName.isEmpty())
|
if (BaseDir == NULL || FileName.isEmpty())
|
||||||
return EFI_NOT_FOUND;
|
return EFI_NOT_FOUND;
|
||||||
@ -504,3 +504,21 @@ EFI_STATUS XImage::LoadImage(EFI_FILE *BaseDir, XStringW& FileName)
|
|||||||
return Status;
|
return Status;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void XImage::EnsureImageSize(IN INTN Width, IN INTN Height, IN EG_PIXEL *Color)
|
||||||
|
{
|
||||||
|
EG_IMAGE *NewImage;
|
||||||
|
|
||||||
|
if (isEmpty())
|
||||||
|
return;
|
||||||
|
if (GetWidth() == (UINTN)Width && GetHeight() == (UINTN)Height) // should we type UGAWidth and UGAHeight as UINTN to avoid cast ?
|
||||||
|
return;
|
||||||
|
|
||||||
|
NewImage = egCreateFilledImage(Width, Height, true, Color); // TODO : import that method to directly deal with XImage
|
||||||
|
if (NewImage == NULL) {
|
||||||
|
return; // panic instead ?
|
||||||
|
}
|
||||||
|
Compose(0, 0, NewImage, false);
|
||||||
|
egFreeImage(NewImage);
|
||||||
|
}
|
||||||
|
@ -13,6 +13,7 @@ extern "C" {
|
|||||||
}
|
}
|
||||||
#include "../cpp_foundation/XToolsCommon.h"
|
#include "../cpp_foundation/XToolsCommon.h"
|
||||||
#include "../cpp_foundation/XArray.h"
|
#include "../cpp_foundation/XArray.h"
|
||||||
|
#include "../cpp_foundation/XStringW.h"
|
||||||
#include "../libeg/libeg.h"
|
#include "../libeg/libeg.h"
|
||||||
//#include "lodepng.h"
|
//#include "lodepng.h"
|
||||||
//
|
//
|
||||||
@ -91,7 +92,9 @@ public:
|
|||||||
void Draw(INTN x, INTN y, float scale);
|
void Draw(INTN x, INTN y, float scale);
|
||||||
void DrawWithoutCompose(INTN x, INTN y, UINTN width = 0, UINTN height = 0);
|
void DrawWithoutCompose(INTN x, INTN y, UINTN width = 0, UINTN height = 0);
|
||||||
|
|
||||||
EFI_STATUS LoadImage(EFI_FILE *Dir, XStringW FileName); //for example LoadImage(ThemeDir, L"icons\\" + Name);
|
EFI_STATUS LoadImage(EFI_FILE *Dir, const XStringW& FileName); //for example LoadImage(ThemeDir, L"icons\\" + Name);
|
||||||
|
void EnsureImageSize(IN INTN Width, IN INTN Height, IN EG_PIXEL *Color);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //__XSTRINGW_H__
|
#endif //__XSTRINGW_H__
|
||||||
|
@ -7,6 +7,8 @@ extern "C" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#include "libegint.h"
|
#include "libegint.h"
|
||||||
|
#include "../refit/screen.h"
|
||||||
|
|
||||||
#include "XTheme.h"
|
#include "XTheme.h"
|
||||||
|
|
||||||
CONST CHAR8* IconsNames[] = {
|
CONST CHAR8* IconsNames[] = {
|
||||||
@ -68,7 +70,7 @@ CONST CHAR8* IconsNames[] = {
|
|||||||
Icon::Icon(INTN Index) : Image(0), ImageNight(0)
|
Icon::Icon(INTN Index) : Image(0), ImageNight(0)
|
||||||
{
|
{
|
||||||
Id = Index;
|
Id = Index;
|
||||||
Name = XString(IconsNames[Index]);
|
Name.takeValueFrom(IconsNames[Index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
Icon::~Icon() {}
|
Icon::~Icon() {}
|
||||||
@ -225,8 +227,8 @@ void XTheme::ClearScreen() //and restore background and banner
|
|||||||
if (!(HideUIFlags & HIDEUI_FLAG_BANNER)) {
|
if (!(HideUIFlags & HIDEUI_FLAG_BANNER)) {
|
||||||
//Banner image prepared before
|
//Banner image prepared before
|
||||||
if (!Banner.isEmpty()) {
|
if (!Banner.isEmpty()) {
|
||||||
BannerPlace.Width = Banner->Width;
|
BannerPlace.Width = Banner.GetWidth();
|
||||||
BannerPlace.Height = (BanHeight >= Banner->Height) ? (INTN)Banner->Height : BanHeight;
|
BannerPlace.Height = (BanHeight >= Banner.GetHeight()) ? Banner.GetHeight() : BanHeight;
|
||||||
BannerPlace.XPos = BannerPosX;
|
BannerPlace.XPos = BannerPosX;
|
||||||
BannerPlace.YPos = BannerPosY;
|
BannerPlace.YPos = BannerPosY;
|
||||||
if (!TypeSVG) {
|
if (!TypeSVG) {
|
||||||
@ -239,13 +241,13 @@ void XTheme::ClearScreen() //and restore background and banner
|
|||||||
BannerPlace.XPos = HybridRepositioning(BannerEdgeHorizontal, BannerPosX, BannerPlace.Width, UGAWidth, ThemeDesignWidth );
|
BannerPlace.XPos = HybridRepositioning(BannerEdgeHorizontal, BannerPosX, BannerPlace.Width, UGAWidth, ThemeDesignWidth );
|
||||||
BannerPlace.YPos = HybridRepositioning(BannerEdgeVertical, BannerPosY, BannerPlace.Height, UGAHeight, ThemeDesignHeight);
|
BannerPlace.YPos = HybridRepositioning(BannerEdgeVertical, BannerPosY, BannerPlace.Height, UGAHeight, ThemeDesignHeight);
|
||||||
// Check if banner is required to be nudged.
|
// Check if banner is required to be nudged.
|
||||||
BannerPlace.XPos = CalculateNudgePosition(BannerPlace.XPos, BannerNudgeX, Banner->Width, UGAWidth);
|
BannerPlace.XPos = CalculateNudgePosition(BannerPlace.XPos, BannerNudgeX, Banner.GetWidth(), UGAWidth);
|
||||||
BannerPlace.YPos = CalculateNudgePosition(BannerPlace.YPos, BannerNudgeY, Banner->Height, UGAHeight);
|
BannerPlace.YPos = CalculateNudgePosition(BannerPlace.YPos, BannerNudgeY, Banner.GetHeight(), UGAHeight);
|
||||||
// DBG("banner position new style\n");
|
// DBG("banner position new style\n");
|
||||||
} else {
|
} else {
|
||||||
// Use rEFIt default (no placement values speicifed)
|
// Use rEFIt default (no placement values speicifed)
|
||||||
BannerPlace.XPos = (UGAWidth - Banner->Width) >> 1;
|
BannerPlace.XPos = (UGAWidth - Banner.GetWidth()) >> 1;
|
||||||
BannerPlace.YPos = (BanHeight >= Banner->Height) ? (BanHeight - Banner->Height) : 0;
|
BannerPlace.YPos = (BanHeight >= Banner.GetHeight()) ? (BanHeight - Banner.GetHeight()) : 0;
|
||||||
// DBG("banner position old style\n");
|
// DBG("banner position old style\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -254,14 +256,14 @@ void XTheme::ClearScreen() //and restore background and banner
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Then prepare Background from BigBack
|
//Then prepare Background from BigBack
|
||||||
if (!Background.isEmpty() && (Background.GetWidth() != UGAWidth || Background.GetHeight() != UGAHeight)) {
|
if (!Background.isEmpty() && (Background.GetWidth() != (UINTN)UGAWidth || Background.GetHeight() != (UINTN)UGAHeight)) { // should we type UGAWidth and UGAHeight as UINTN to avoid cast ?
|
||||||
// Resolution changed
|
// Resolution changed
|
||||||
Background.setEmpty();
|
Background.setEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Background.isEmpty()) {
|
if (Background.isEmpty()) {
|
||||||
Background = XImage(UGAWidth, UGAHeight);
|
Background = XImage(UGAWidth, UGAHeight);
|
||||||
Background.Fill(&BlueBackgroundPixel);
|
Background.Fill((EFI_GRAPHICS_OUTPUT_BLT_PIXEL&)BlueBackgroundPixel);
|
||||||
}
|
}
|
||||||
if (!BigBack.isEmpty()) {
|
if (!BigBack.isEmpty()) {
|
||||||
switch (BackgroundScale) {
|
switch (BackgroundScale) {
|
||||||
@ -269,6 +271,7 @@ void XTheme::ClearScreen() //and restore background and banner
|
|||||||
Background.CopyScaled(BigBack, Scale);
|
Background.CopyScaled(BigBack, Scale);
|
||||||
break;
|
break;
|
||||||
case imCrop:
|
case imCrop:
|
||||||
|
{
|
||||||
INTN x = UGAWidth - BigBack.GetWidth();
|
INTN x = UGAWidth - BigBack.GetWidth();
|
||||||
INTN x1, x2, y1, y2;
|
INTN x1, x2, y1, y2;
|
||||||
if (x >= 0) {
|
if (x >= 0) {
|
||||||
@ -296,16 +299,19 @@ void XTheme::ClearScreen() //and restore background and banner
|
|||||||
x, y, Background.GetWidth(), BigBack.GetWidth()); */
|
x, y, Background.GetWidth(), BigBack.GetWidth()); */
|
||||||
Background.Compose(x, y, BigBack, true);
|
Background.Compose(x, y, BigBack, true);
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case imTile:
|
case imTile:
|
||||||
x = (BigBack.GetWidth() * ((UGAWidth - 1) / BigBack.GetWidth() + 1) - UGAWidth) >> 1;
|
{
|
||||||
y = (BigBack.GetHeight() * ((UGAHeight - 1) / BigBack.GetHeight() + 1) - UGAHeight) >> 1;
|
INTN x = (BigBack.GetWidth() * ((UGAWidth - 1) / BigBack.GetWidth() + 1) - UGAWidth) >> 1;
|
||||||
EFI_GRAPHICS_OUTPUT_BLT_PIXEL* p1 = Background.GetPixelPtr(0, 0)
|
INTN y = (BigBack.GetHeight() * ((UGAHeight - 1) / BigBack.GetHeight() + 1) - UGAHeight) >> 1;
|
||||||
for (j = 0; j < UGAHeight; j++) {
|
EFI_GRAPHICS_OUTPUT_BLT_PIXEL* p1 = Background.GetPixelPtr(0, 0);
|
||||||
for (i = 0; i < UGAWidth; i++) {
|
for (INTN j = 0; j < UGAHeight; j++) {
|
||||||
|
for (INTN i = 0; i < UGAWidth; i++) {
|
||||||
*p1++ = BigBack.GetPixel((i + x) % BigBack.GetWidth(), (j + y) % BigBack.GetHeight());
|
*p1++ = BigBack.GetPixel((i + x) % BigBack.GetWidth(), (j + y) % BigBack.GetHeight());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case imNone:
|
case imNone:
|
||||||
default:
|
default:
|
||||||
// already scaled
|
// already scaled
|
||||||
@ -314,7 +320,7 @@ void XTheme::ClearScreen() //and restore background and banner
|
|||||||
}
|
}
|
||||||
Background.Draw(0, 0, 1.f);
|
Background.Draw(0, 0, 1.f);
|
||||||
//then draw banner
|
//then draw banner
|
||||||
if (Banner) {
|
if (!Banner.isEmpty()) {
|
||||||
Banner.Draw(BannerPlace.XPos, BannerPlace.YPos, Scale);
|
Banner.Draw(BannerPlace.XPos, BannerPlace.YPos, Scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -335,7 +341,7 @@ void XTheme::InitSelection()
|
|||||||
}
|
}
|
||||||
// load small selection image
|
// load small selection image
|
||||||
if (GlobalConfig.SelectionSmallFileName != NULL){
|
if (GlobalConfig.SelectionSmallFileName != NULL){
|
||||||
SelectionImages[2].LoadImage(ThemeDir, SelectionSmallFileName.data());
|
SelectionImages[2].LoadImage(ThemeDir, SelectionSmallFileName);
|
||||||
}
|
}
|
||||||
if (SelectionImages[2].isEmpty()){
|
if (SelectionImages[2].isEmpty()){
|
||||||
// SelectionImages[2] = BuiltinIcon(BUILTIN_SELECTION_SMALL);
|
// SelectionImages[2] = BuiltinIcon(BUILTIN_SELECTION_SMALL);
|
||||||
@ -353,23 +359,20 @@ void XTheme::InitSelection()
|
|||||||
// load big selection image
|
// load big selection image
|
||||||
if (!GlobalConfig.TypeSVG && GlobalConfig.SelectionBigFileName != NULL) {
|
if (!GlobalConfig.TypeSVG && GlobalConfig.SelectionBigFileName != NULL) {
|
||||||
SelectionImages[0] = egLoadImage(ThemeDir, GlobalConfig.SelectionBigFileName, FALSE);
|
SelectionImages[0] = egLoadImage(ThemeDir, GlobalConfig.SelectionBigFileName, FALSE);
|
||||||
SelectionImages[0] = egEnsureImageSize(SelectionImages[0],
|
SelectionImages[0].EnsureImageSize(row0TileSize, row0TileSize, &MenuBackgroundPixel);
|
||||||
row0TileSize, row0TileSize,
|
|
||||||
&MenuBackgroundPixel);
|
|
||||||
}
|
}
|
||||||
if (SelectionImages[0] == NULL) {
|
if (SelectionImages[0].isEmpty()) {
|
||||||
// calculate big selection image from small one
|
// calculate big selection image from small one
|
||||||
SelectionImages[0] = BuiltinIcon(BUILTIN_SELECTION_BIG);
|
SelectionImages[0] = BuiltinIcon(BUILTIN_SELECTION_BIG);
|
||||||
SelectionImages[0]->HasAlpha = FALSE; // support transparensy for selection icons
|
// SelectionImages[0]->HasAlpha = FALSE; // support transparensy for selection icons
|
||||||
CopyMem(&BlueBackgroundPixel, &StdBackgroundPixel, sizeof(EG_PIXEL));
|
CopyMem(&BlueBackgroundPixel, &StdBackgroundPixel, sizeof(EG_PIXEL));
|
||||||
if (SelectionImages[0] == NULL) {
|
if (SelectionImages[0].isEmpty()) {
|
||||||
egFreeImage(SelectionImages[2]);
|
SelectionImages[2].setEmpty();
|
||||||
SelectionImages[2] = NULL;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (GlobalConfig.SelectionOnTop) {
|
if (GlobalConfig.SelectionOnTop) {
|
||||||
SelectionImages[0]->HasAlpha = TRUE;
|
// SelectionImages[0]->HasAlpha = TRUE; // TODO ?
|
||||||
SelectionImages[2]->HasAlpha = TRUE;
|
// SelectionImages[2]->HasAlpha = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -379,13 +382,13 @@ void XTheme::InitSelection()
|
|||||||
if (GlobalConfig.SelectionIndicatorName != NULL) {
|
if (GlobalConfig.SelectionIndicatorName != NULL) {
|
||||||
SelectionImages[4] = egLoadImage(ThemeDir, GlobalConfig.SelectionIndicatorName, TRUE);
|
SelectionImages[4] = egLoadImage(ThemeDir, GlobalConfig.SelectionIndicatorName, TRUE);
|
||||||
}
|
}
|
||||||
if (!SelectionImages[4]) {
|
if (!SelectionImages[4].isEmpty()) {
|
||||||
SelectionImages[4] = egDecodePNG(ACCESS_EMB_DATA(emb_selection_indicator), ACCESS_EMB_SIZE(emb_selection_indicator), TRUE);
|
SelectionImages[4] = egDecodePNG(ACCESS_EMB_DATA(emb_selection_indicator), ACCESS_EMB_SIZE(emb_selection_indicator), TRUE);
|
||||||
|
|
||||||
}
|
}
|
||||||
INTN ScaledIndicatorSize = (INTN)(INDICATOR_SIZE * GlobalConfig.Scale);
|
INTN ScaledIndicatorSize = (INTN)(INDICATOR_SIZE * GlobalConfig.Scale);
|
||||||
SelectionImages[4] = egEnsureImageSize(SelectionImages[4], ScaledIndicatorSize, ScaledIndicatorSize, &MenuBackgroundPixel);
|
SelectionImages[4].EnsureImageSize(ScaledIndicatorSize, ScaledIndicatorSize, &MenuBackgroundPixel);
|
||||||
if (!SelectionImages[4]) {
|
if (SelectionImages[4].isEmpty()) {
|
||||||
SelectionImages[4] = egCreateFilledImage(ScaledIndicatorSize, ScaledIndicatorSize,
|
SelectionImages[4] = egCreateFilledImage(ScaledIndicatorSize, ScaledIndicatorSize,
|
||||||
TRUE, &StdBackgroundPixel);
|
TRUE, &StdBackgroundPixel);
|
||||||
|
|
||||||
|
@ -7,13 +7,15 @@
|
|||||||
#include "libeg.h"
|
#include "libeg.h"
|
||||||
#include "XImage.h"
|
#include "XImage.h"
|
||||||
|
|
||||||
|
#define INDICATOR_SIZE (52)
|
||||||
|
|
||||||
class Icon
|
class Icon
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
INTN Id; //for example BUILTIN_ICON_POINTER
|
INTN Id; //for example BUILTIN_ICON_POINTER
|
||||||
XString Name; //for example "os_moja", "vol_internal"
|
XStringW Name; //for example "os_moja", "vol_internal"
|
||||||
XImage ImageNight;
|
|
||||||
XImage Image;
|
XImage Image;
|
||||||
|
XImage ImageNight;
|
||||||
|
|
||||||
Icon(INTN Id);
|
Icon(INTN Id);
|
||||||
~Icon();
|
~Icon();
|
||||||
@ -74,7 +76,7 @@ public:
|
|||||||
float CentreShift;
|
float CentreShift;
|
||||||
INTN row0TileSize;
|
INTN row0TileSize;
|
||||||
INTN row1TileSize;
|
INTN row1TileSize;
|
||||||
INTN BanHeight;
|
UINTN BanHeight;
|
||||||
INTN LayoutHeight; //it was 376 before
|
INTN LayoutHeight; //it was 376 before
|
||||||
|
|
||||||
void Init();
|
void Init();
|
||||||
|
@ -386,7 +386,7 @@ VOID egInitScreen(IN BOOLEAN SetMaxResolution)
|
|||||||
// if it not the first run, just restore resolution
|
// if it not the first run, just restore resolution
|
||||||
if (egScreenWidth != 0 && egScreenHeight != 0) {
|
if (egScreenWidth != 0 && egScreenHeight != 0) {
|
||||||
// Resolution = PoolPrint(L"%dx%d",egScreenWidth,egScreenHeight);
|
// Resolution = PoolPrint(L"%dx%d",egScreenWidth,egScreenHeight);
|
||||||
XStringW Resolution = WPrintf("%lux%lu", egScreenWidth, egScreenHeight);
|
XStringW Resolution = WPrintf("%llux%llu", egScreenWidth, egScreenHeight);
|
||||||
if (Resolution) {
|
if (Resolution) {
|
||||||
Status = egSetScreenResolution(Resolution.data());
|
Status = egSetScreenResolution(Resolution.data());
|
||||||
// FreePool(Resolution);
|
// FreePool(Resolution);
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
#include "menu.h"
|
#include "menu.h"
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "../cpp_foundation/XString.h"
|
#include "../cpp_foundation/XString.h"
|
||||||
|
#include "../libeg/XTheme.h"
|
||||||
|
|
||||||
#ifndef DEBUG_ALL
|
#ifndef DEBUG_ALL
|
||||||
#define DEBUG_MENU 1
|
#define DEBUG_MENU 1
|
||||||
@ -147,7 +148,6 @@ INTN ScrollbarYMovement;
|
|||||||
#define TILE1_XSPACING (8)
|
#define TILE1_XSPACING (8)
|
||||||
//#define TILE_YSPACING (24)
|
//#define TILE_YSPACING (24)
|
||||||
#define ROW0_SCROLLSIZE (100)
|
#define ROW0_SCROLLSIZE (100)
|
||||||
#define INDICATOR_SIZE (52)
|
|
||||||
|
|
||||||
//EG_IMAGE *SelectionImages[6] = {NULL, NULL, NULL, NULL, NULL, NULL};
|
//EG_IMAGE *SelectionImages[6] = {NULL, NULL, NULL, NULL, NULL, NULL};
|
||||||
//EG_IMAGE *Buttons[4] = {NULL, NULL, NULL, NULL};
|
//EG_IMAGE *Buttons[4] = {NULL, NULL, NULL, NULL};
|
||||||
|
@ -63,12 +63,12 @@ static VOID SwitchToGraphics(VOID);
|
|||||||
static VOID DrawScreenHeader(IN CONST CHAR16 *Title);
|
static VOID DrawScreenHeader(IN CONST CHAR16 *Title);
|
||||||
static VOID UpdateConsoleVars(VOID);
|
static VOID UpdateConsoleVars(VOID);
|
||||||
static INTN ConvertEdgeAndPercentageToPixelPosition(INTN Edge, INTN DesiredPercentageFromEdge, INTN ImageDimension, INTN ScreenDimension);
|
static INTN ConvertEdgeAndPercentageToPixelPosition(INTN Edge, INTN DesiredPercentageFromEdge, INTN ImageDimension, INTN ScreenDimension);
|
||||||
static INTN CalculateNudgePosition(INTN Position, INTN NudgeValue, INTN ImageDimension, INTN ScreenDimension);
|
INTN CalculateNudgePosition(INTN Position, INTN NudgeValue, INTN ImageDimension, INTN ScreenDimension);
|
||||||
//INTN RecalculateImageOffset(INTN AnimDimension, INTN ValueToScale, INTN ScreenDimensionToFit, INTN ThemeDesignDimension);
|
//INTN RecalculateImageOffset(INTN AnimDimension, INTN ValueToScale, INTN ScreenDimensionToFit, INTN ThemeDesignDimension);
|
||||||
static BOOLEAN IsImageWithinScreenLimits(INTN Value, INTN ImageDimension, INTN ScreenDimension);
|
static BOOLEAN IsImageWithinScreenLimits(INTN Value, INTN ImageDimension, INTN ScreenDimension);
|
||||||
static INTN RepositionFixedByCenter(INTN Value, INTN ScreenDimension, INTN DesignScreenDimension);
|
static INTN RepositionFixedByCenter(INTN Value, INTN ScreenDimension, INTN DesignScreenDimension);
|
||||||
static INTN RepositionRelativeByGapsOnEdges(INTN Value, INTN ImageDimension, INTN ScreenDimension, INTN DesignScreenDimension);
|
static INTN RepositionRelativeByGapsOnEdges(INTN Value, INTN ImageDimension, INTN ScreenDimension, INTN DesignScreenDimension);
|
||||||
static INTN HybridRepositioning(INTN Edge, INTN Value, INTN ImageDimension, INTN ScreenDimension, INTN DesignScreenDimension);
|
INTN HybridRepositioning(INTN Edge, INTN Value, INTN ImageDimension, INTN ScreenDimension, INTN DesignScreenDimension);
|
||||||
|
|
||||||
EG_IMAGE * LoadSvgFrame(INTN i);
|
EG_IMAGE * LoadSvgFrame(INTN i);
|
||||||
|
|
||||||
@ -889,7 +889,7 @@ static INTN ConvertEdgeAndPercentageToPixelPosition(INTN Edge, INTN DesiredPerce
|
|||||||
return 0xFFFF; // to indicate that wrong edge was specified.
|
return 0xFFFF; // to indicate that wrong edge was specified.
|
||||||
}
|
}
|
||||||
|
|
||||||
static INTN CalculateNudgePosition(INTN Position, INTN NudgeValue, INTN ImageDimension, INTN ScreenDimension)
|
INTN CalculateNudgePosition(INTN Position, INTN NudgeValue, INTN ImageDimension, INTN ScreenDimension)
|
||||||
{
|
{
|
||||||
INTN value=Position;
|
INTN value=Position;
|
||||||
|
|
||||||
@ -916,7 +916,7 @@ static INTN RepositionRelativeByGapsOnEdges(INTN Value, INTN ImageDimension, INT
|
|||||||
return (Value * (ScreenDimension - ImageDimension) / (DesignScreenDimension - ImageDimension));
|
return (Value * (ScreenDimension - ImageDimension) / (DesignScreenDimension - ImageDimension));
|
||||||
}
|
}
|
||||||
|
|
||||||
static INTN HybridRepositioning(INTN Edge, INTN Value, INTN ImageDimension, INTN ScreenDimension, INTN DesignScreenDimension)
|
INTN HybridRepositioning(INTN Edge, INTN Value, INTN ImageDimension, INTN ScreenDimension, INTN DesignScreenDimension)
|
||||||
{
|
{
|
||||||
INTN pos, posThemeDesign;
|
INTN pos, posThemeDesign;
|
||||||
|
|
||||||
|
@ -23,3 +23,7 @@ VOID BltImageAlpha(IN EG_IMAGE *Image, IN INTN XPos, IN INTN YPos, IN EG_PIXEL *
|
|||||||
//VOID BltImageComposite(IN EG_IMAGE *BaseImage, IN EG_IMAGE *TopImage, IN INTN XPos, IN INTN YPos);
|
//VOID BltImageComposite(IN EG_IMAGE *BaseImage, IN EG_IMAGE *TopImage, IN INTN XPos, IN INTN YPos);
|
||||||
VOID BltImageCompositeBadge(IN EG_IMAGE *BaseImage, IN EG_IMAGE *TopImage, IN EG_IMAGE *BadgeImage, IN INTN XPos, IN INTN YPos, INTN Scale);
|
VOID BltImageCompositeBadge(IN EG_IMAGE *BaseImage, IN EG_IMAGE *TopImage, IN EG_IMAGE *BadgeImage, IN INTN XPos, IN INTN YPos, INTN Scale);
|
||||||
//VOID BltImageCompositeIndicator(IN EG_IMAGE *BaseImage, IN EG_IMAGE *TopImage, IN INTN XPos, IN INTN YPos, INTN Scale);
|
//VOID BltImageCompositeIndicator(IN EG_IMAGE *BaseImage, IN EG_IMAGE *TopImage, IN INTN XPos, IN INTN YPos, INTN Scale);
|
||||||
|
|
||||||
|
|
||||||
|
INTN HybridRepositioning(INTN Edge, INTN Value, INTN ImageDimension, INTN ScreenDimension, INTN DesignScreenDimension);
|
||||||
|
INTN CalculateNudgePosition(INTN Position, INTN NudgeValue, INTN ImageDimension, INTN ScreenDimension);
|
||||||
|
Loading…
Reference in New Issue
Block a user