diff options
Diffstat (limited to 'win32')
| -rw-r--r-- | win32/PlatWin.cxx | 221 | ||||
| -rw-r--r-- | win32/ScintillaWin.cxx | 33 | 
2 files changed, 52 insertions, 202 deletions
| diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx index a2654ff78..3d9b7e88f 100644 --- a/win32/PlatWin.cxx +++ b/win32/PlatWin.cxx @@ -115,95 +115,6 @@ static RECT RectFromPRectangle(PRectangle prc) {  	return rc;  } -Palette::Palette() { -	used = 0; -	allowRealization = false; -	hpal = 0; -	size = 100; -	entries = new ColourPair[size]; -} - -Palette::~Palette() { -	Release(); -	delete []entries; -	entries = 0; -} - -void Palette::Release() { -	used = 0; -	if (hpal) -		::DeleteObject(hpal); -	hpal = 0; -	delete []entries; -	size = 100; -	entries = new ColourPair[size]; -} - -/** - * This method either adds a colour to the list of wanted colours (want==true) - * or retrieves the allocated colour back to the ColourPair. - * This is one method to make it easier to keep the code for wanting and retrieving in sync. - */ -void Palette::WantFind(ColourPair &cp, bool want) { -	if (want) { -		for (int i=0; i < used; i++) { -			if (entries[i].desired == cp.desired) -				return; -		} - -		if (used >= size) { -			int sizeNew = size * 2; -			ColourPair *entriesNew = new ColourPair[sizeNew]; -			for (int j=0; j<size; j++) { -				entriesNew[j] = entries[j]; -			} -			delete []entries; -			entries = entriesNew; -			size = sizeNew; -		} - -		entries[used].desired = cp.desired; -		entries[used].allocated.Set(cp.desired.AsLong()); -		used++; -	} else { -		for (int i=0; i < used; i++) { -			if (entries[i].desired == cp.desired) { -				cp.allocated = entries[i].allocated; -				return; -			} -		} -		cp.allocated.Set(cp.desired.AsLong()); -	} -} - -void Palette::Allocate(Window &) { -	if (hpal) -		::DeleteObject(hpal); -	hpal = 0; - -	if (allowRealization) { -		char *pal = new char[sizeof(LOGPALETTE) + (used-1) * sizeof(PALETTEENTRY)]; -		LOGPALETTE *logpal = reinterpret_cast<LOGPALETTE *>(pal); -		logpal->palVersion = 0x300; -		logpal->palNumEntries = static_cast<WORD>(used); -		for (int iPal=0;iPal<used;iPal++) { -			ColourDesired desired = entries[iPal].desired; -			logpal->palPalEntry[iPal].peRed   = static_cast<BYTE>(desired.GetRed()); -			logpal->palPalEntry[iPal].peGreen = static_cast<BYTE>(desired.GetGreen()); -			logpal->palPalEntry[iPal].peBlue  = static_cast<BYTE>(desired.GetBlue()); -			entries[iPal].allocated.Set( -				PALETTERGB(desired.GetRed(), desired.GetGreen(), desired.GetBlue())); -			// PC_NOCOLLAPSE means exact colours allocated even when in background this means other windows -			// are less likely to get their colours and also flashes more when switching windows -			logpal->palPalEntry[iPal].peFlags = PC_NOCOLLAPSE; -			// 0 allows approximate colours when in background, yielding moe colours to other windows -			//logpal->palPalEntry[iPal].peFlags = 0; -		} -		hpal = ::CreatePalette(logpal); -		delete []pal; -	} -} -  #if defined(USE_D2D)  IDWriteFactory *pIDWriteFactory = 0;  ID2D1Factory *pD2DFactory = 0; @@ -570,7 +481,6 @@ class SurfaceGDI : public Surface {  	HFONT fontOld;  	HBITMAP bitmap;  	HBITMAP bitmapOld; -	HPALETTE paletteOld;  	int maxWidthMeasure;  	int maxLenText; @@ -578,7 +488,7 @@ class SurfaceGDI : public Surface {  	// If 9x OS and current code page is same as ANSI code page.  	bool win9xACPSame; -	void BrushColor(ColourAllocated back); +	void BrushColor(ColourDesired back);  	void SetFont(Font &font_);  	// Private so SurfaceGDI objects can not be copied @@ -594,26 +504,26 @@ public:  	void Release();  	bool Initialised(); -	void PenColour(ColourAllocated fore); +	void PenColour(ColourDesired fore);  	int LogPixelsY();  	int DeviceHeightFont(int points);  	void MoveTo(int x_, int y_);  	void LineTo(int x_, int y_); -	void Polygon(Point *pts, int npts, ColourAllocated fore, ColourAllocated back); -	void RectangleDraw(PRectangle rc, ColourAllocated fore, ColourAllocated back); -	void FillRectangle(PRectangle rc, ColourAllocated back); +	void Polygon(Point *pts, int npts, ColourDesired fore, ColourDesired back); +	void RectangleDraw(PRectangle rc, ColourDesired fore, ColourDesired back); +	void FillRectangle(PRectangle rc, ColourDesired back);  	void FillRectangle(PRectangle rc, Surface &surfacePattern); -	void RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAllocated back); -	void AlphaRectangle(PRectangle rc, int cornerSize, ColourAllocated fill, int alphaFill, -		ColourAllocated outline, int alphaOutline, int flags); +	void RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back); +	void AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill, int alphaFill, +		ColourDesired outline, int alphaOutline, int flags);  	void DrawRGBAImage(PRectangle rc, int width, int height, const unsigned char *pixelsImage); -	void Ellipse(PRectangle rc, ColourAllocated fore, ColourAllocated back); +	void Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back);  	void Copy(PRectangle rc, Point from, Surface &surfaceSource);  	void DrawTextCommon(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, UINT fuOptions); -	void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back); -	void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back); -	void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourAllocated fore); +	void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, ColourDesired back); +	void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, ColourDesired back); +	void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore);  	void MeasureWidths(Font &font_, const char *s, int len, XYPOSITION *positions);  	XYPOSITION WidthText(Font &font_, const char *s, int len);  	XYPOSITION WidthChar(Font &font_, char ch); @@ -624,7 +534,6 @@ public:  	XYPOSITION Height(Font &font_);  	XYPOSITION AverageCharWidth(Font &font_); -	int SetPalette(Palette *pal, bool inBackGround);  	void SetClip(PRectangle rc);  	void FlushCachedState(); @@ -642,8 +551,7 @@ SurfaceGDI::SurfaceGDI() :  	pen(0), 	penOld(0),  	brush(0), brushOld(0),  	font(0), 	fontOld(0), -	bitmap(0), bitmapOld(0), -	paletteOld(0) { +	bitmap(0), bitmapOld(0) {  	// Windows 9x has only a 16 bit coordinate system so break after 30000 pixels  	maxWidthMeasure = IsNT() ? INT_MAX : 30000;  	// There appears to be a 16 bit string length limit in GDI on NT and a limit of @@ -683,12 +591,6 @@ void SurfaceGDI::Release() {  		bitmapOld = 0;  	}  	bitmap = 0; -	if (paletteOld) { -		// Palettes are not deleted as they are owned by a Palette object -		::SelectPalette(reinterpret_cast<HDC>(hdc), -			reinterpret_cast<HPALETTE>(paletteOld), TRUE); -		paletteOld = 0; -	}  	if (hdcOwned) {  		::DeleteDC(reinterpret_cast<HDC>(hdc));  		hdc = 0; @@ -722,7 +624,7 @@ void SurfaceGDI::InitPixMap(int width, int height, Surface *surface_, WindowID)  	::SetTextAlign(reinterpret_cast<HDC>(hdc), TA_BASELINE);  } -void SurfaceGDI::PenColour(ColourAllocated fore) { +void SurfaceGDI::PenColour(ColourDesired fore) {  	if (pen) {  		::SelectObject(hdc, penOld);  		::DeleteObject(pen); @@ -733,7 +635,7 @@ void SurfaceGDI::PenColour(ColourAllocated fore) {  	penOld = static_cast<HPEN>(::SelectObject(reinterpret_cast<HDC>(hdc), pen));  } -void SurfaceGDI::BrushColor(ColourAllocated back) { +void SurfaceGDI::BrushColor(ColourDesired back) {  	if (brush) {  		::SelectObject(hdc, brushOld);  		::DeleteObject(brush); @@ -741,7 +643,7 @@ void SurfaceGDI::BrushColor(ColourAllocated back) {  		brushOld = 0;  	}  	// Only ever want pure, non-dithered brushes -	ColourAllocated colourNearest = ::GetNearestColor(hdc, back.AsLong()); +	ColourDesired colourNearest = ::GetNearestColor(hdc, back.AsLong());  	brush = ::CreateSolidBrush(colourNearest.AsLong());  	brushOld = static_cast<HBRUSH>(::SelectObject(hdc, brush));  } @@ -775,19 +677,19 @@ void SurfaceGDI::LineTo(int x_, int y_) {  	::LineTo(hdc, x_, y_);  } -void SurfaceGDI::Polygon(Point *pts, int npts, ColourAllocated fore, ColourAllocated back) { +void SurfaceGDI::Polygon(Point *pts, int npts, ColourDesired fore, ColourDesired back) {  	PenColour(fore);  	BrushColor(back);  	::Polygon(hdc, reinterpret_cast<POINT *>(pts), npts);  } -void SurfaceGDI::RectangleDraw(PRectangle rc, ColourAllocated fore, ColourAllocated back) { +void SurfaceGDI::RectangleDraw(PRectangle rc, ColourDesired fore, ColourDesired back) {  	PenColour(fore);  	BrushColor(back);  	::Rectangle(hdc, rc.left, rc.top, rc.right, rc.bottom);  } -void SurfaceGDI::FillRectangle(PRectangle rc, ColourAllocated back) { +void SurfaceGDI::FillRectangle(PRectangle rc, ColourDesired back) {  	// Using ExtTextOut rather than a FillRect ensures that no dithering occurs.  	// There is no need to allocate a brush either.  	RECT rcw = RectFromPRectangle(rc); @@ -806,7 +708,7 @@ void SurfaceGDI::FillRectangle(PRectangle rc, Surface &surfacePattern) {  	::DeleteObject(br);  } -void SurfaceGDI::RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAllocated back) { +void SurfaceGDI::RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back) {  	PenColour(fore);  	BrushColor(back);  	::RoundRect(hdc, @@ -842,8 +744,8 @@ static DWORD dwordFromBGRA(byte b, byte g, byte r, byte a) {  	return converter.val;  } -void SurfaceGDI::AlphaRectangle(PRectangle rc, int cornerSize, ColourAllocated fill, int alphaFill, -		ColourAllocated outline, int alphaOutline, int /* flags*/ ) { +void SurfaceGDI::AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill, int alphaFill, +		ColourDesired outline, int alphaOutline, int /* flags*/ ) {  	if (AlphaBlendFn && rc.Width() > 0) {  		HDC hMemDC = ::CreateCompatibleDC(reinterpret_cast<HDC>(hdc));  		int width = rc.Width(); @@ -940,7 +842,7 @@ void SurfaceGDI::DrawRGBAImage(PRectangle rc, int width, int height, const unsig  	}  } -void SurfaceGDI::Ellipse(PRectangle rc, ColourAllocated fore, ColourAllocated back) { +void SurfaceGDI::Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back) {  	PenColour(fore);  	BrushColor(back);  	::Ellipse(hdc, rc.left, rc.top, rc.right, rc.bottom); @@ -999,21 +901,21 @@ void SurfaceGDI::DrawTextCommon(PRectangle rc, Font &font_, XYPOSITION ybase, co  }  void SurfaceGDI::DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, -	ColourAllocated fore, ColourAllocated back) { +	ColourDesired fore, ColourDesired back) {  	::SetTextColor(hdc, fore.AsLong());  	::SetBkColor(hdc, back.AsLong());  	DrawTextCommon(rc, font_, ybase, s, len, ETO_OPAQUE);  }  void SurfaceGDI::DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, -	ColourAllocated fore, ColourAllocated back) { +	ColourDesired fore, ColourDesired back) {  	::SetTextColor(hdc, fore.AsLong());  	::SetBkColor(hdc, back.AsLong());  	DrawTextCommon(rc, font_, ybase, s, len, ETO_OPAQUE | ETO_CLIPPED);  }  void SurfaceGDI::DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, -	ColourAllocated fore) { +	ColourDesired fore) {  	// Avoid drawing spaces in transparent mode  	for (int i=0;i<len;i++) {  		if (s[i] != ' ') { @@ -1179,20 +1081,6 @@ XYPOSITION SurfaceGDI::AverageCharWidth(Font &font_) {  	return tm.tmAveCharWidth;  } -int SurfaceGDI::SetPalette(Palette *pal, bool inBackGround) { -	if (paletteOld) { -		::SelectPalette(hdc, paletteOld, TRUE); -	} -	paletteOld = 0; -	int changes = 0; -	if (pal->allowRealization) { -		paletteOld = ::SelectPalette(hdc, -			reinterpret_cast<HPALETTE>(pal->hpal), inBackGround); -		changes = ::RealizePalette(hdc); -	} -	return changes; -} -  void SurfaceGDI::SetClip(PRectangle rc) {  	::IntersectClipRect(hdc, rc.left, rc.top, rc.right, rc.bottom);  } @@ -1213,12 +1101,12 @@ void SurfaceGDI::SetDBCSMode(int codePage_) {  	win9xACPSame = !IsNT() && ((unsigned int)codePage == ::GetACP());  } +#if defined(USE_D2D) +  #ifdef SCI_NAMESPACE  namespace Scintilla {  #endif -#if defined(USE_D2D) -  class SurfaceD2D : public Surface {  	bool unicodeMode;  	int x, y; @@ -1258,27 +1146,27 @@ public:  	HRESULT FlushDrawing(); -	void PenColour(ColourAllocated fore); -	void D2DPenColour(ColourAllocated fore, int alpha=255); +	void PenColour(ColourDesired fore); +	void D2DPenColour(ColourDesired fore, int alpha=255);  	int LogPixelsY();  	int DeviceHeightFont(int points);  	void MoveTo(int x_, int y_);  	void LineTo(int x_, int y_); -	void Polygon(Point *pts, int npts, ColourAllocated fore, ColourAllocated back); -	void RectangleDraw(PRectangle rc, ColourAllocated fore, ColourAllocated back); -	void FillRectangle(PRectangle rc, ColourAllocated back); +	void Polygon(Point *pts, int npts, ColourDesired fore, ColourDesired back); +	void RectangleDraw(PRectangle rc, ColourDesired fore, ColourDesired back); +	void FillRectangle(PRectangle rc, ColourDesired back);  	void FillRectangle(PRectangle rc, Surface &surfacePattern); -	void RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAllocated back); -	void AlphaRectangle(PRectangle rc, int cornerSize, ColourAllocated fill, int alphaFill, -		ColourAllocated outline, int alphaOutline, int flags); +	void RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back); +	void AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill, int alphaFill, +		ColourDesired outline, int alphaOutline, int flags);  	void DrawRGBAImage(PRectangle rc, int width, int height, const unsigned char *pixelsImage); -	void Ellipse(PRectangle rc, ColourAllocated fore, ColourAllocated back); +	void Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back);  	void Copy(PRectangle rc, Point from, Surface &surfaceSource);  	void DrawTextCommon(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, UINT fuOptions); -	void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back); -	void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourAllocated fore, ColourAllocated back); -	void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourAllocated fore); +	void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, ColourDesired back); +	void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, ColourDesired back); +	void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore);  	void MeasureWidths(Font &font_, const char *s, int len, XYPOSITION *positions);  	XYPOSITION WidthText(Font &font_, const char *s, int len);  	XYPOSITION WidthChar(Font &font_, char ch); @@ -1289,7 +1177,6 @@ public:  	XYPOSITION Height(Font &font_);  	XYPOSITION AverageCharWidth(Font &font_); -	int SetPalette(Palette *pal, bool inBackGround);  	void SetClip(PRectangle rc);  	void FlushCachedState(); @@ -1385,11 +1272,11 @@ void SurfaceD2D::InitPixMap(int width, int height, Surface *surface_, WindowID)  	}  } -void SurfaceD2D::PenColour(ColourAllocated fore) { +void SurfaceD2D::PenColour(ColourDesired fore) {  	D2DPenColour(fore);  } -void SurfaceD2D::D2DPenColour(ColourAllocated fore, int alpha) { +void SurfaceD2D::D2DPenColour(ColourDesired fore, int alpha) {  	if (pRenderTarget) {  		D2D_COLOR_F col;  		col.r = (fore.AsLong() & 0xff) / 255.0; @@ -1475,7 +1362,7 @@ void SurfaceD2D::LineTo(int x_, int y_) {  	}  } -void SurfaceD2D::Polygon(Point *pts, int npts, ColourAllocated fore, ColourAllocated back) { +void SurfaceD2D::Polygon(Point *pts, int npts, ColourDesired fore, ColourDesired back) {  	if (pRenderTarget) {  		ID2D1Factory *pFactory = 0;  		pRenderTarget->GetFactory(&pFactory); @@ -1504,7 +1391,7 @@ void SurfaceD2D::Polygon(Point *pts, int npts, ColourAllocated fore, ColourAlloc  	}  } -void SurfaceD2D::RectangleDraw(PRectangle rc, ColourAllocated fore, ColourAllocated back) { +void SurfaceD2D::RectangleDraw(PRectangle rc, ColourDesired fore, ColourDesired back) {  	if (pRenderTarget) {  		D2DPenColour(back);  		D2D1_RECT_F rectangle1 = D2D1::RectF(RoundFloat(rc.left) + 0.5, rc.top+0.5, RoundFloat(rc.right) - 0.5, rc.bottom-0.5); @@ -1515,7 +1402,7 @@ void SurfaceD2D::RectangleDraw(PRectangle rc, ColourAllocated fore, ColourAlloca  	}  } -void SurfaceD2D::FillRectangle(PRectangle rc, ColourAllocated back) { +void SurfaceD2D::FillRectangle(PRectangle rc, ColourDesired back) {  	if (pRenderTarget) {  		D2DPenColour(back);          D2D1_RECT_F rectangle1 = D2D1::RectF(RoundFloat(rc.left), rc.top, RoundFloat(rc.right), rc.bottom); @@ -1547,7 +1434,7 @@ void SurfaceD2D::FillRectangle(PRectangle rc, Surface &surfacePattern) {  	}  } -void SurfaceD2D::RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAllocated back) { +void SurfaceD2D::RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back) {  	if (pRenderTarget) {  		D2D1_ROUNDED_RECT roundedRectFill = D2D1::RoundedRect(  			D2D1::RectF(rc.left+1.0, rc.top+1.0, rc.right-1.0, rc.bottom-1.0), @@ -1563,8 +1450,8 @@ void SurfaceD2D::RoundedRectangle(PRectangle rc, ColourAllocated fore, ColourAll  	}  } -void SurfaceD2D::AlphaRectangle(PRectangle rc, int cornerSize, ColourAllocated fill, int alphaFill, -		ColourAllocated outline, int alphaOutline, int /* flags*/ ) { +void SurfaceD2D::AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill, int alphaFill, +		ColourDesired outline, int alphaOutline, int /* flags*/ ) {  	if (pRenderTarget) {  		D2D1_ROUNDED_RECT roundedRectFill = D2D1::RoundedRect(  			D2D1::RectF(rc.left+1.0, rc.top+1.0, rc.right-1.0, rc.bottom-1.0), @@ -1616,7 +1503,7 @@ void SurfaceD2D::DrawRGBAImage(PRectangle rc, int width, int height, const unsig  	}  } -void SurfaceD2D::Ellipse(PRectangle rc, ColourAllocated fore, ColourAllocated back) { +void SurfaceD2D::Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back) {  	if (pRenderTarget) {  		FLOAT radius = rc.Width() / 2.0f - 1.0f;  		D2D1_ELLIPSE ellipse = D2D1::Ellipse( @@ -1674,7 +1561,7 @@ void SurfaceD2D::DrawTextCommon(PRectangle rc, Font &font_, XYPOSITION ybase, co  }  void SurfaceD2D::DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, -	ColourAllocated fore, ColourAllocated back) { +	ColourDesired fore, ColourDesired back) {  	if (pRenderTarget) {  		FillRectangle(rc, back);  		D2DPenColour(fore); @@ -1683,7 +1570,7 @@ void SurfaceD2D::DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, co  }  void SurfaceD2D::DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, -	ColourAllocated fore, ColourAllocated back) { +	ColourDesired fore, ColourDesired back) {  	if (pRenderTarget) {  		FillRectangle(rc, back);  		D2DPenColour(fore); @@ -1692,7 +1579,7 @@ void SurfaceD2D::DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, c  }  void SurfaceD2D::DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, -	ColourAllocated fore) { +	ColourDesired fore) {  	// Avoid drawing spaces in transparent mode  	for (int i=0;i<len;i++) {  		if (s[i] != ' ') { @@ -1866,10 +1753,6 @@ XYPOSITION SurfaceD2D::AverageCharWidth(Font &font_) {  	return int(width + 0.5);  } -int SurfaceD2D::SetPalette(Palette *, bool) { -	return 0; -} -  void SurfaceD2D::SetClip(PRectangle rc) {  	if (pRenderTarget) {  		D2D1_RECT_F rcClip = {rc.left, rc.top, rc.right, rc.bottom}; diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 75993b8ed..4456a1983 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -270,7 +270,6 @@ class ScintillaWin :  	virtual void CopyToClipboard(const SelectionText &selectedText);  	void ScrollMessage(WPARAM wParam);  	void HorizontalScrollMessage(WPARAM wParam); -	void RealizeWindowPalette(bool inBackGround);  	void FullPaint();  	void FullPaintDC(HDC dc);  	bool IsCompatibleDC(HDC dc); @@ -992,12 +991,10 @@ sptr_t ScintillaWin::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam  					DestroySystemCaret();  				}  			} -			//RealizeWindowPalette(true);  			break;  		case WM_SETFOCUS:  			SetFocusState(true); -			RealizeWindowPalette(false);  			DestroySystemCaret();  			CreateSystemCaret();  			break; @@ -1007,18 +1004,6 @@ sptr_t ScintillaWin::WndProc(unsigned int iMessage, uptr_t wParam, sptr_t lParam  			InvalidateStyleData();  			break; -		case WM_PALETTECHANGED: -			if (wParam != reinterpret_cast<uptr_t>(MainHWND())) { -				//Platform::DebugPrintf("** Palette Changed\n"); -				RealizeWindowPalette(true); -			} -			break; - -		case WM_QUERYNEWPALETTE: -			//Platform::DebugPrintf("** Query palette\n"); -			RealizeWindowPalette(false); -			break; -  		case WM_IME_STARTCOMPOSITION: 	// dbcs  			ImeStartComposition();  			return ::DefWindowProc(MainHWND(), iMessage, wParam, lParam); @@ -2384,24 +2369,6 @@ void ScintillaWin::HorizontalScrollMessage(WPARAM wParam) {  	HorizontalScrollTo(xPos);  } -void ScintillaWin::RealizeWindowPalette(bool) { -	// No support for palette with D2D -/* -	RefreshStyleData(); -	HDC hdc = ::GetDC(MainHWND()); -	// Select a stock font to prevent warnings from BoundsChecker -	::SelectObject(hdc, GetStockFont(DEFAULT_GUI_FONT)); -	AutoSurface surfaceWindow(hdc, this); -	if (surfaceWindow) { -		int changes = surfaceWindow->SetPalette(&palette, inBackGround); -		if (changes > 0) -			Redraw(); -		surfaceWindow->Release(); -	} -	::ReleaseDC(MainHWND(), hdc); -*/ -} -  /**   * Redraw all of text area.   * This paint will not be abandoned. | 
