File: ihmcolor.c

package info (click to toggle)
scilab 4.0-12
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 100,640 kB
  • ctags: 57,333
  • sloc: ansic: 377,889; fortran: 242,862; xml: 179,819; tcl: 42,062; sh: 10,593; ml: 9,441; makefile: 4,377; cpp: 1,354; java: 621; csh: 260; yacc: 247; perl: 130; lex: 126; asm: 72; lisp: 30
file content (145 lines) | stat: -rw-r--r-- 4,353 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
/*-----------------------------------------------------------------------------------*/
/* INRIA 2005 */
/* Allan CORNET */
/*-----------------------------------------------------------------------------------*/
#include "ihmcolor.h"
#include "../os_specific/win_mem_alloc.h" /* MALLOC */
#include "wgnuplib.h"
/*-----------------------------------------------------------------------------------*/
static DWORD CurrentIHMTextColor=0;
static DWORD CurrentIHMTextBackgroundColor=16777215;
/*-----------------------------------------------------------------------------------*/
extern LPTW GetTextWinScilab(void);
/*-----------------------------------------------------------------------------------*/
BOOL SetIhmTextColor(int R,int G,int B,BOOL Refresh)
{
	BOOL bOK=FALSE;

	CurrentIHMTextColor=RGB(R,G,B);

	if (Refresh)
	{
		LPTW lptw=GetTextWinScilab();
		if (InvalidateRect (lptw->hWndText, NULL, TRUE)) bOK=TRUE;

	}
	else  bOK=TRUE;

	return bOK;
}
/*-----------------------------------------------------------------------------------*/
BOOL SetIhmTextBackgroundColor(int R,int G,int B,BOOL Refresh)
{
	BOOL bOK=FALSE;
	
	CurrentIHMTextBackgroundColor=RGB(R,G,B);

	if (Refresh)
	{
		HBRUSH NewHbrBackground=NULL;
		LPTW lptw=GetTextWinScilab();

		CurrentIHMTextBackgroundColor=RGB(R,G,B);
		NewHbrBackground=CreateSolidBrush (CurrentIHMTextBackgroundColor);

		if (SetClassLong(lptw->hWndParent,GCL_HBRBACKGROUND,(LONG)NewHbrBackground)==0) bOK=FALSE;
		else bOK=TRUE;

		if ((bOK) && (SetClassLong(lptw->hWndText,GCL_HBRBACKGROUND,(LONG)NewHbrBackground)==0)) bOK=FALSE;
		else bOK=TRUE;

		if ( (bOK) && (DeleteObject((HBRUSH)(lptw->hbrBackground)))) bOK=TRUE;
		else bOK=FALSE;

		lptw->hbrBackground=NewHbrBackground;
		if ((bOK) && (InvalidateRect (lptw->hWndText, NULL, TRUE))) bOK=TRUE;
		else bOK=FALSE;
	}
	else bOK=TRUE;

	return bOK;
}
/*-----------------------------------------------------------------------------------*/
BOOL SetIhmSystemDefaultTextColor(void)
{
	BOOL bOK=FALSE;
	LPTW lptw=GetTextWinScilab();

	CurrentIHMTextColor=GetSysColor(COLOR_WINDOWTEXT);
	if (InvalidateRect (lptw->hWndText, NULL, TRUE)) bOK=TRUE;

	return bOK;
}
/*-----------------------------------------------------------------------------------*/
BOOL SetIhmSystemDefaultTextBackgroundColor(void)
{
	BOOL bOK=FALSE;

	HBRUSH NewHbrBackground=NULL;
	LPTW lptw=GetTextWinScilab();
	
	CurrentIHMTextBackgroundColor=GetSysColor(COLOR_WINDOW);

	NewHbrBackground=CreateSolidBrush (CurrentIHMTextBackgroundColor);

	if (SetClassLong(lptw->hWndParent,GCL_HBRBACKGROUND,(LONG)NewHbrBackground)==0) bOK=FALSE;
	else bOK=TRUE;

	if ((bOK) && (SetClassLong(lptw->hWndText,GCL_HBRBACKGROUND,(LONG)NewHbrBackground)==0)) bOK=FALSE;
	else bOK=TRUE;

	if ( (bOK) && (DeleteObject((HBRUSH)(lptw->hbrBackground)))) bOK=TRUE;
	else bOK=FALSE;

	lptw->hbrBackground=NewHbrBackground;
	if ((bOK) && (InvalidateRect (lptw->hWndText, NULL, TRUE))) bOK=TRUE;
	else bOK=FALSE;

	return bOK;
}
/*-----------------------------------------------------------------------------------*/
DWORD GetIhmTextColor(void)
{
	return CurrentIHMTextColor;
}
/*-----------------------------------------------------------------------------------*/
DWORD GetIhmTextBackgroundColor(void)
{
	return CurrentIHMTextBackgroundColor;
}
/*-----------------------------------------------------------------------------------*/
void InitIhmDefaultColor(void)
{
	CurrentIHMTextColor=GetSysColor(COLOR_WINDOWTEXT);
	CurrentIHMTextBackgroundColor=GetSysColor(COLOR_WINDOW);
}
/*-----------------------------------------------------------------------------------*/
BOOL ChooseColorBox(int *R,int *G,int *B)
{
	BOOL bOk=FALSE;

	CHOOSECOLOR cc;                 // common dialog box structure 
	static COLORREF acrCustClr[16]; // array of custom colors 
	static DWORD rgbCurrent;        // initial color selection
	LPTW lptw=GetTextWinScilab();

	ZeroMemory(&cc, sizeof(cc));
	cc.lStructSize = sizeof(cc);
	cc.hwndOwner = lptw->hWndParent;
	cc.lpCustColors = (LPDWORD) acrCustClr;
	cc.rgbResult = RGB(*R,*G,*B);
	cc.Flags = CC_FULLOPEN | CC_RGBINIT;

	if (ChooseColor(&cc)==TRUE) 
	{
		*R=GetRValue(cc.rgbResult);
		*G=GetGValue(cc.rgbResult);
		*B=GetBValue(cc.rgbResult);
		bOk=TRUE;
	}
	else bOk=FALSE;


	return bOk;
}
/*-----------------------------------------------------------------------------------*/