Mercurial > hg > xemacs-beta
comparison src/redisplay-msw.c @ 4928:ea701c23ed84
change text_width method to take a window, in preparation for unicode-internal changes
-------------------- ChangeLog entries follow: --------------------
src/ChangeLog addition:
2010-01-19 Ben Wing <ben@xemacs.org>
* console-impl.h (struct console_methods):
* console-stream.c (stream_text_width):
* redisplay-msw.c (mswindows_output_string):
* redisplay-msw.c (mswindows_text_width):
* redisplay-tty.c (tty_text_width):
* redisplay-xlike-inc.c (XLIKE_text_width):
* redisplay-xlike-inc.c (XLIKE_output_string):
* redisplay.c:
* redisplay.c (redisplay_window_text_width_ichar_string):
* redisplay.c (redisplay_text_width_string):
Change the text_width method to take a window instead of a frame.
Needed for Unicode-internal.
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Tue, 19 Jan 2010 11:21:34 -0600 |
parents | dbf79a1732ba |
children | 0d4c9d0f6a8d |
comparison
equal
deleted
inserted
replaced
4882:eab9498ecc0e | 4928:ea701c23ed84 |
---|---|
467 window = wrap_window (w); | 467 window = wrap_window (w); |
468 | 468 |
469 #if 0 /* #### FIXME? */ | 469 #if 0 /* #### FIXME? */ |
470 /* We can't work out the width before we've set the font in the DC */ | 470 /* We can't work out the width before we've set the font in the DC */ |
471 if (width < 0) | 471 if (width < 0) |
472 width = mswindows_text_width (cachel, Dynarr_atp (buf, 0), Dynarr_length (buf)); | 472 width = mswindows_text_width (w, cachel, Dynarr_atp (buf, 0), |
473 Dynarr_length (buf)); | |
473 #else | 474 #else |
474 assert(width>=0); | 475 assert (width >= 0); |
475 #endif | 476 #endif |
476 | 477 |
477 /* Regularize the variables passed in. */ | 478 /* Regularize the variables passed in. */ |
478 if (clip_start < xpos) | 479 if (clip_start < xpos) |
479 clip_start = xpos; | 480 clip_start = xpos; |
1179 | 1180 |
1180 Given a string and a face, return the string's length in pixels when | 1181 Given a string and a face, return the string's length in pixels when |
1181 displayed in the font associated with the face. | 1182 displayed in the font associated with the face. |
1182 ****************************************************************************/ | 1183 ****************************************************************************/ |
1183 static int | 1184 static int |
1184 mswindows_text_width (struct frame *f, struct face_cachel *cachel, | 1185 mswindows_text_width (struct window *w, struct face_cachel *cachel, |
1185 const Ichar *str, Charcount len) | 1186 const Ichar *str, Charcount len) |
1186 { | 1187 { |
1188 struct frame *f = WINDOW_XFRAME (w); | |
1187 HDC hdc = get_frame_dc (f, 0); | 1189 HDC hdc = get_frame_dc (f, 0); |
1188 int width_so_far = 0; | 1190 int width_so_far = 0; |
1189 textual_run *runs; | 1191 textual_run *runs; |
1190 int nruns; | 1192 int nruns; |
1191 int i; | 1193 int i; |