Configurable font quality on Windows. (Together with a little bit of
[u/mdw/putty] / windows / winstuff.h
index 177c7d2..d2202a6 100644 (file)
@@ -27,8 +27,30 @@ struct FontSpec {
     int charset;
 };
 
+#ifndef CLEARTYPE_QUALITY
+#define CLEARTYPE_QUALITY 5
+#endif
+#define FONT_QUALITY(fq) ( \
+    (fq) == FQ_DEFAULT ? DEFAULT_QUALITY : \
+    (fq) == FQ_ANTIALIASED ? ANTIALIASED_QUALITY : \
+    (fq) == FQ_NONANTIALIASED ? NONANTIALIASED_QUALITY : \
+    CLEARTYPE_QUALITY)
+
+/* VC++ 6 doesn't have GetWindowLongPtr and friends.  Degrade nicely. */
+
+#ifndef GWLP_USERDATA
+#define GetWindowLongPtr GetWindowLong
+#define SetWindowLongPtr SetWindowLong
+#define GWLP_USERDATA GWL_USERDATA
+#define DWLP_MSGRESULT DWL_MSGRESULT
+#endif
+
 #define BOXFLAGS DLGWINDOWEXTRA
-#define BOXRESULT DLGWINDOWEXTRA + 4
+#ifdef LONG_PTR
+#define BOXRESULT (DLGWINDOWEXTRA + sizeof(LONG_PTR))
+#else
+#define BOXRESULT (DLGWINDOWEXTRA + 4)
+#endif
 #define DF_END 0x0001
 
 /*
@@ -95,13 +117,7 @@ GLOBAL int requested_help;
 GLOBAL Terminal *term;
 GLOBAL void *logctx;
 
-/*
- * I've just looked in the windows standard headr files for WM_USER, there
- * are hundreds of flags defined using the form WM_USER+123 so I've 
- * renumbered this NETEVENT value and the two in window.c
- */
-#define WM_XUSER     (WM_USER + 0x2000)
-#define WM_NETEVENT  (WM_XUSER + 5)
+#define WM_NETEVENT  (WM_APP + 5)
 
 /*
  * On Windows, we send MA_2CLK as the only event marking the second
@@ -231,7 +247,8 @@ HWND doctl(struct ctlpos *cp, RECT r,
 void bartitle(struct ctlpos *cp, char *name, int id);
 void beginbox(struct ctlpos *cp, char *name, int idbox);
 void endbox(struct ctlpos *cp);
-void multiedit(struct ctlpos *cp, int password, ...);
+void editboxfw(struct ctlpos *cp, int password, char *text,
+              int staticid, int editid);
 void radioline(struct ctlpos *cp, char *text, int id, int nacross, ...);
 void bareradioline(struct ctlpos *cp, int nacross, ...);
 void radiobig(struct ctlpos *cp, char *text, int id, ...);