changeset 369:39983df2b93d

Updated the license information, and copyrights. Code to do background color text drawing on Windows. dw_color_background_set(DW_CLR_DEFAULT) will set background color to transparent.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 27 Apr 2003 18:34:48 +0000
parents 72fbd1ee8150
children e5156e7e5f19
files dw.h gtk/dw.c license.txt os2/dw.c win/dw.c
diffstat 5 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/dw.h	Sun Apr 27 17:05:13 2003 +0000
+++ b/dw.h	Sun Apr 27 18:34:48 2003 +0000
@@ -698,6 +698,7 @@
 #define DW_PIXMAP_HEIGHT(x) (x ? x->height : 0)
 
 #define DW_RGB_COLOR (0xF0000000)
+#define DW_RGB_TRANSPARENT (0x0F000000)
 #define DW_RGB_MASK (0x00FFFFFF)
 #define DW_RED_MASK (0x000000FF)
 #define DW_GREEN_MASK (0x0000FF00)
--- a/gtk/dw.c	Sun Apr 27 17:05:13 2003 +0000
+++ b/gtk/dw.c	Sun Apr 27 18:34:48 2003 +0000
@@ -4,6 +4,7 @@
  *          GTK forwarder module for portabilty.
  *
  * (C) 2000-2003 Brian Smith <dbsoft@technologist.com>
+ * (C) 2003 Mark Hessling <m.hessling@qut.edu.au>
  *
  */
 #include "dw.h"
--- a/license.txt	Sun Apr 27 17:05:13 2003 +0000
+++ b/license.txt	Sun Apr 27 18:34:48 2003 +0000
@@ -3,7 +3,7 @@
 2000-2003 Brian Smith <dbsoft@technologist.com>
 2000 Achim Hasenmueller <achimha@innotek.de>
 2000 Peter Nielsen <peter@pmview.com>
-2003 Mark Hessling
+2003 Mark Hessling <m.hessling@qut.edu.au>
 1998 Sergey I. Yevtushenko
 
 This license allows you to use this source code in any way you wish, given the
--- a/os2/dw.c	Sun Apr 27 17:05:13 2003 +0000
+++ b/os2/dw.c	Sun Apr 27 18:34:48 2003 +0000
@@ -42,7 +42,7 @@
 HAB dwhab = 0;
 HMQ dwhmq = 0;
 DWTID _dwtid = 0;
-LONG _foreground = 0xAAAAAA, _background = 0;
+LONG _foreground = 0xAAAAAA, _background = DW_CLR_DEFAULT;
 
 HWND hwndBubble = NULLHANDLE, hwndBubbleLast = NULLHANDLE, hwndEmph = NULLHANDLE;
 PRECORDCORE pCore = NULL, pCoreEmph = NULL;
--- a/win/dw.c	Sun Apr 27 17:05:13 2003 +0000
+++ b/win/dw.c	Sun Apr 27 18:34:48 2003 +0000
@@ -4,6 +4,7 @@
  *          A GTK like implementation of the Win32 GUI
  *
  * (C) 2000-2003 Brian Smith <dbsoft@technologist.com>
+ * (C) 2003 Mark Hessling <m.hessling@qut.edu.au>
  *
  */
 #define _WIN32_IE 0x0500
@@ -416,6 +417,8 @@
 /* Convert to our internal color scheme */
 ULONG _internal_color(ULONG color)
 {
+	if(color == DW_CLR_DEFAULT)
+		return DW_RGB_TRANSPARENT;
 	if(color < 18)
 		return DW_RGB(_red[color], _green[color], _blue[color]);
 	return color;
@@ -3054,7 +3057,7 @@
 	for(z=0;z<THREAD_LIMIT;z++)
 	{
 		_foreground[z] = RGB(128,128,128);
-		_background[z] = 0;
+		_background[z] = DW_RGB_TRANSPARENT;
 		_hPen[z] = CreatePen(PS_SOLID, 1, _foreground[z]);
 		_hBrush[z] = CreateSolidBrush(_foreground[z]);
 	}
@@ -6858,7 +6861,13 @@
 	}
 	oldFont = SelectObject(hdc, hFont);
 	SetTextColor(hdc, _foreground[threadid]);
-	SetBkMode(hdc, TRANSPARENT);
+	if(_background[threadid] == DW_RGB_TRANSPARENT)
+		SetBkMode(hdc, TRANSPARENT);
+	else
+	{
+		SetBkMode(hdc, OPAQUE);
+		SetBkColor(hdc, _background[threadid]);
+	}
 	TextOut(hdc, x, y, text, strlen(text));
 	SelectObject(hdc, oldFont);
 	if(mustdelete)