Centralized color transformations
git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1876 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
@@ -21,6 +21,7 @@
|
|||||||
#include "tfb_draw.h"
|
#include "tfb_draw.h"
|
||||||
#include "units.h"
|
#include "units.h"
|
||||||
#include "libs/mathlib.h"
|
#include "libs/mathlib.h"
|
||||||
|
#include "gfxother.h"
|
||||||
|
|
||||||
FRAMEPTR _CurFramePtr;
|
FRAMEPTR _CurFramePtr;
|
||||||
|
|
||||||
@@ -245,3 +246,13 @@ RotateFrame (FRAMEPTR Frame, COUNT angle)
|
|||||||
|
|
||||||
return Drawable;
|
return Drawable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SetFrameTransparentColor (FRAMEPTR Frame, COLOR c32k)
|
||||||
|
{
|
||||||
|
TFB_Palette color;
|
||||||
|
|
||||||
|
COLORtoPalette (c32k, &color);
|
||||||
|
TFB_DrawCanvas_SetTransparentColor (Frame->image->NormalImg,
|
||||||
|
color.r, color.g, color.b, TRUE);
|
||||||
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
#include "gfxintrn.h"
|
#include "gfxintrn.h"
|
||||||
#include "tfb_prim.h"
|
#include "tfb_prim.h"
|
||||||
|
#include "gfxother.h"
|
||||||
|
|
||||||
|
|
||||||
extern FRAME Build_Font_Effect (FRAME FramePtr, DWORD from, DWORD to,
|
extern FRAME Build_Font_Effect (FRAME FramePtr, DWORD from, DWORD to,
|
||||||
@@ -258,12 +259,7 @@ _text_blt (PRECT pClipRect, PRIMITIVEPTR PrimPtr)
|
|||||||
if (FontPtr == NULL)
|
if (FontPtr == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
{
|
COLORtoPalette (_get_context_fg_color (), &color);
|
||||||
DWORD c32k = _get_context_fg_color () >> 8;
|
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
}
|
|
||||||
|
|
||||||
TextPtr = &PrimPtr->Object.Text;
|
TextPtr = &PrimPtr->Object.Text;
|
||||||
s.origin.x = _save_stamp.origin.x;
|
s.origin.x = _save_stamp.origin.x;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#include "gfx_common.h"
|
#include "gfx_common.h"
|
||||||
#include "tfb_draw.h"
|
#include "tfb_draw.h"
|
||||||
#include "tfb_prim.h"
|
#include "tfb_prim.h"
|
||||||
|
#include "gfxother.h"
|
||||||
|
|
||||||
HOT_SPOT
|
HOT_SPOT
|
||||||
MAKE_HOT_SPOT (COORD x, COORD y)
|
MAKE_HOT_SPOT (COORD x, COORD y)
|
||||||
@@ -88,12 +89,8 @@ void
|
|||||||
ClearBackGround (PRECT pClipRect)
|
ClearBackGround (PRECT pClipRect)
|
||||||
{
|
{
|
||||||
TFB_Palette color;
|
TFB_Palette color;
|
||||||
DWORD c32k;
|
|
||||||
|
|
||||||
c32k = _get_context_bg_color () >> 8; //shift out color index
|
COLORtoPalette (_get_context_bg_color (), &color);
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
TFB_Prim_FillRect (pClipRect, &color);
|
TFB_Prim_FillRect (pClipRect, &color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -144,7 +141,6 @@ DrawBatch (PPRIMITIVE lpBasePrim, PRIM_LINKS PrimLinks,
|
|||||||
PPRIMITIVE lpWorkPrim;
|
PPRIMITIVE lpWorkPrim;
|
||||||
RECT ClipRect;
|
RECT ClipRect;
|
||||||
TFB_Palette color;
|
TFB_Palette color;
|
||||||
DWORD c32k;
|
|
||||||
|
|
||||||
lpPrim = &lpBasePrim[CurIndex];
|
lpPrim = &lpBasePrim[CurIndex];
|
||||||
PrimType = GetPrimType (lpPrim);
|
PrimType = GetPrimType (lpPrim);
|
||||||
@@ -156,29 +152,18 @@ DrawBatch (PPRIMITIVE lpBasePrim, PRIM_LINKS PrimLinks,
|
|||||||
switch (PrimType)
|
switch (PrimType)
|
||||||
{
|
{
|
||||||
case POINT_PRIM:
|
case POINT_PRIM:
|
||||||
c32k = GetPrimColor (lpWorkPrim) >> 8; //shift out color index
|
COLORtoPalette (GetPrimColor (lpWorkPrim), &color);
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
|
|
||||||
TFB_Prim_Point (&lpWorkPrim->Object.Point, &color);
|
TFB_Prim_Point (&lpWorkPrim->Object.Point, &color);
|
||||||
break;
|
break;
|
||||||
case STAMP_PRIM:
|
case STAMP_PRIM:
|
||||||
TFB_Prim_Stamp (&lpWorkPrim->Object.Stamp);
|
TFB_Prim_Stamp (&lpWorkPrim->Object.Stamp);
|
||||||
break;
|
break;
|
||||||
case STAMPFILL_PRIM:
|
case STAMPFILL_PRIM:
|
||||||
c32k = GetPrimColor (lpWorkPrim) >> 8; //shift out color index
|
COLORtoPalette (GetPrimColor (lpWorkPrim), &color);
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
TFB_Prim_StampFill (&lpWorkPrim->Object.Stamp, &color);
|
TFB_Prim_StampFill (&lpWorkPrim->Object.Stamp, &color);
|
||||||
break;
|
break;
|
||||||
case LINE_PRIM:
|
case LINE_PRIM:
|
||||||
c32k = GetPrimColor (lpWorkPrim) >> 8; //shift out color index
|
COLORtoPalette (GetPrimColor (lpWorkPrim), &color);
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
|
|
||||||
TFB_Prim_Line (&lpWorkPrim->Object.Line, &color);
|
TFB_Prim_Line (&lpWorkPrim->Object.Line, &color);
|
||||||
break;
|
break;
|
||||||
case TEXT_PRIM:
|
case TEXT_PRIM:
|
||||||
@@ -191,16 +176,10 @@ DrawBatch (PPRIMITIVE lpBasePrim, PRIM_LINKS PrimLinks,
|
|||||||
_text_blt (&ClipRect, lpWorkPrim);
|
_text_blt (&ClipRect, lpWorkPrim);
|
||||||
break;
|
break;
|
||||||
case RECT_PRIM:
|
case RECT_PRIM:
|
||||||
c32k = GetPrimColor (lpWorkPrim) >> 8; //shift out color index
|
COLORtoPalette (GetPrimColor (lpWorkPrim), &color);
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
TFB_Prim_Rect (&lpWorkPrim->Object.Rect, &color);
|
TFB_Prim_Rect (&lpWorkPrim->Object.Rect, &color);
|
||||||
case RECTFILL_PRIM:
|
case RECTFILL_PRIM:
|
||||||
c32k = GetPrimColor (lpWorkPrim) >> 8; //shift out color index
|
COLORtoPalette (GetPrimColor (lpWorkPrim), &color);
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
TFB_Prim_FillRect (&lpWorkPrim->Object.Rect, &color);
|
TFB_Prim_FillRect (&lpWorkPrim->Object.Rect, &color);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -243,13 +222,8 @@ DrawPoint (PPOINT lpPoint)
|
|||||||
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
||||||
{
|
{
|
||||||
TFB_Palette color;
|
TFB_Palette color;
|
||||||
DWORD c32k;
|
|
||||||
|
|
||||||
c32k = GetPrimColor (&_locPrim) >> 8; //shift out color index
|
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
|
|
||||||
|
COLORtoPalette (GetPrimColor (&_locPrim), &color);
|
||||||
TFB_Prim_Point (lpPoint, &color);
|
TFB_Prim_Point (lpPoint, &color);
|
||||||
_CurFramePtr->HotSpot = OldHot;
|
_CurFramePtr->HotSpot = OldHot;
|
||||||
}
|
}
|
||||||
@@ -264,13 +238,8 @@ DrawRectangle (PRECT lpRect)
|
|||||||
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
||||||
{
|
{
|
||||||
TFB_Palette color;
|
TFB_Palette color;
|
||||||
DWORD c32k;
|
|
||||||
|
|
||||||
c32k = GetPrimColor (&_locPrim) >> 8; //shift out color index
|
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
|
|
||||||
|
COLORtoPalette (GetPrimColor (&_locPrim), &color);
|
||||||
TFB_Prim_Rect (lpRect, &color);
|
TFB_Prim_Rect (lpRect, &color);
|
||||||
_CurFramePtr->HotSpot = OldHot;
|
_CurFramePtr->HotSpot = OldHot;
|
||||||
}
|
}
|
||||||
@@ -285,13 +254,8 @@ DrawFilledRectangle (PRECT lpRect)
|
|||||||
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
||||||
{
|
{
|
||||||
TFB_Palette color;
|
TFB_Palette color;
|
||||||
DWORD c32k;
|
|
||||||
|
|
||||||
c32k = GetPrimColor (&_locPrim) >> 8; //shift out color index
|
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
|
|
||||||
|
COLORtoPalette (GetPrimColor (&_locPrim), &color);
|
||||||
TFB_Prim_FillRect (lpRect, &color);
|
TFB_Prim_FillRect (lpRect, &color);
|
||||||
_CurFramePtr->HotSpot = OldHot;
|
_CurFramePtr->HotSpot = OldHot;
|
||||||
}
|
}
|
||||||
@@ -306,13 +270,8 @@ DrawLine (PLINE lpLine)
|
|||||||
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
||||||
{
|
{
|
||||||
TFB_Palette color;
|
TFB_Palette color;
|
||||||
DWORD c32k;
|
|
||||||
|
|
||||||
c32k = GetPrimColor (&_locPrim) >> 8; //shift out color index
|
COLORtoPalette (GetPrimColor (&_locPrim), &color);
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
|
|
||||||
TFB_Prim_Line (lpLine, &color);
|
TFB_Prim_Line (lpLine, &color);
|
||||||
_CurFramePtr->HotSpot = OldHot;
|
_CurFramePtr->HotSpot = OldHot;
|
||||||
}
|
}
|
||||||
@@ -340,12 +299,8 @@ DrawFilledStamp (PSTAMP stmp)
|
|||||||
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
if (GraphicsSystemActive () && GetFrameValidRect (&ValidRect, &OldHot))
|
||||||
{
|
{
|
||||||
TFB_Palette color;
|
TFB_Palette color;
|
||||||
DWORD c32k;
|
|
||||||
|
|
||||||
c32k = GetPrimColor (&_locPrim) >> 8; //shift out color index
|
COLORtoPalette (GetPrimColor (&_locPrim), &color);
|
||||||
color.r = (UBYTE)((c32k >> (10 - (8 - 5))) & 0xF8);
|
|
||||||
color.g = (UBYTE)((c32k >> (5 - (8 - 5))) & 0xF8);
|
|
||||||
color.b = (UBYTE)((c32k << (8 - 5)) & 0xF8);
|
|
||||||
TFB_Prim_StampFill (stmp, &color);
|
TFB_Prim_StampFill (stmp, &color);
|
||||||
_CurFramePtr->HotSpot = OldHot;
|
_CurFramePtr->HotSpot = OldHot;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user