diff src/scrollbar-msw.c @ 276:6330739388db r21-0b36

Import from CVS: tag r21-0b36
author cvs
date Mon, 13 Aug 2007 10:30:37 +0200
parents b2472a1930f2
children 57709be46d1b
line wrap: on
line diff
--- a/src/scrollbar-msw.c	Mon Aug 13 10:29:43 2007 +0200
+++ b/src/scrollbar-msw.c	Mon Aug 13 10:30:37 2007 +0200
@@ -27,11 +27,12 @@
 #include "lisp.h"
 
 #include "console-msw.h"
-#include "scrollbar-msw.h"
-
+#include "events.h"
 #include "frame.h"
+#include "scrollbar-msw.h"
+#include "scrollbar.h"
+#include "specifier.h"
 #include "window.h"
-#include "events.h"
 
 /* This has really different semantics in Windows than in Motif.
    There's no corresponding method; we just do not change slider
@@ -255,7 +256,28 @@
 }
 
 #endif /* MEMORY_USAGE_STATS */
+
+/************************************************************************/
+/*          Device-specific ghost specifiers initialization             */
+/************************************************************************/
 
+DEFUN ("mswindows-init-scrollbar-metrics", Fmswindows_init_scrollbar_metrics, 1, 1, 0, /*
+*/
+       (locale))
+{
+  if (DEVICEP (locale))
+    {
+      add_spec_to_ghost_specifier (Vscrollbar_width,
+				   make_int (GetSystemMetrics (SM_CXVSCROLL)),
+				   locale, Qmswindows, Qnil);
+      add_spec_to_ghost_specifier (Vscrollbar_height,
+				   make_int (GetSystemMetrics (SM_CYHSCROLL)),
+				   locale, Qmswindows, Qnil);
+    }
+  return Qnil;
+}
+
+
 /************************************************************************/
 /*                            initialization                            */
 /************************************************************************/
@@ -275,6 +297,12 @@
 }
 
 void
+syms_of_scrollbar_mswindows(void)
+{
+  DEFSUBR (Fmswindows_init_scrollbar_metrics);
+}
+
+void
 vars_of_scrollbar_mswindows(void)
 {
   Fprovide (intern ("mswindows-scrollbars"));