The R Project SVN R

Rev

Rev 28991 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 28991 Rev 31702
Line 29... Line 29...
29
 
29
 
30
    Changes for R:
30
    Changes for R:
31
 
31
 
32
    sort out resize (confused screen and client coords)
32
    sort out resize (confused screen and client coords)
33
    add printer and metafile handling
33
    add printer and metafile handling
-
 
34
    Remove assumption of current->dest being non-NULL
34
 
35
 
35
 */
36
 */
36
 
37
 
37
#include "internal.h"
38
#include "internal.h"
38
 
39
 
Line 163... Line 164...
163
	prev = current->dest;
164
	prev = current->dest;
164
	drawto(obj);
165
	drawto(obj);
165
	old = currentrgb();
166
	old = currentrgb();
166
	setrgb(obj->bg);
167
	setrgb(obj->bg);
167
	fillrect(getrect(obj));
168
	fillrect(getrect(obj));
-
 
169
	if (prev) {
168
	setrgb(old);
170
		setrgb(old);
169
	drawto(prev);
171
		drawto(prev);
-
 
172
    	}
170
}
173
}
171
 
174
 
172
void draw(control obj)
175
void draw(control obj)
173
{
176
{
174
	drawing prev;
177
	drawing prev;
Line 187... Line 190...
187
		return;
190
		return;
188
	if ((obj->call == NULL) || (obj->call->redraw == NULL))
191
	if ((obj->call == NULL) || (obj->call->redraw == NULL))
189
		return;
192
		return;
190
	prev = current->dest;
193
	prev = current->dest;
191
	drawto(obj);
194
	drawto(obj);
192
	old = copydrawstate();
195
	if (prev) old = copydrawstate();
193
	moveto(pt(0,0));
196
	moveto(pt(0,0));
194
	obj->call->redraw(obj, getrect(obj));
197
	obj->call->redraw(obj, getrect(obj));
-
 
198
	if (prev) {
195
	restoredrawstate(old);
199
		restoredrawstate(old);
196
	drawto(prev);
200
		drawto(prev);
-
 
201
    	}
197
}
202
}
198
 
203
 
199
void redraw(control obj)
204
void redraw(control obj)
200
{
205
{
201
	clear(obj);
206
	clear(obj);