summaryrefslogtreecommitdiff
path: root/gs/src/dwtext.h
diff options
context:
space:
mode:
authorHenry Stiles <henry.stiles@artifex.com>1998-07-26 07:36:41 +0000
committerHenry Stiles <henry.stiles@artifex.com>1998-07-26 07:36:41 +0000
commiteec0ef527f18c5978c4476c9490f4de4c4249628 (patch)
tree5588d5e1300a245186594893c930949a19bcbbce /gs/src/dwtext.h
parentd4bdba93ef34f68d27148e1b31088d1d3e786e8c (diff)
downloadghostpdl-eec0ef527f18c5978c4476c9490f4de4c4249628.tar.gz
Initial revision
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@246 06663e23-700e-0410-b217-a244a6096597
Diffstat (limited to 'gs/src/dwtext.h')
-rw-r--r--gs/src/dwtext.h144
1 files changed, 144 insertions, 0 deletions
diff --git a/gs/src/dwtext.h b/gs/src/dwtext.h
new file mode 100644
index 000000000..210adcad8
--- /dev/null
+++ b/gs/src/dwtext.h
@@ -0,0 +1,144 @@
+/* Copyright (C) 1996, Russell Lang. All rights reserved.
+
+ This file is part of Aladdin Ghostscript.
+
+ Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
+ or distributor accepts any responsibility for the consequences of using it,
+ or for whether it serves any particular purpose or works at all, unless he
+ or she says so in writing. Refer to the Aladdin Ghostscript Free Public
+ License (the "License") for full details.
+
+ Every copy of Aladdin Ghostscript must include a copy of the License,
+ normally in a plain ASCII text file named PUBLIC. The License grants you
+ the right to copy, modify and redistribute Aladdin Ghostscript, but only
+ under certain conditions described in the License. Among other things, the
+ License requires that the copyright notice and this notice be preserved on
+ all copies.
+*/
+
+
+// dwtext.h
+// Text Window class
+
+
+#ifdef _WINDOWS
+#define _Windows
+#endif
+
+
+/* ================================== */
+/* text window class */
+
+
+class TextWindow {
+ HINSTANCE hInstance; /* required */
+ LPSTR Title; /* required */
+ HICON hIcon; /* optional */
+
+ BYTE FAR *ScreenBuffer;
+ POINT ScreenSize; /* optional */
+ char *DragPre; /* optional */
+ char *DragPost; /* optional */
+ int nCmdShow; /* optional */
+ HWND hwnd;
+
+ BYTE FAR *KeyBuf;
+ BYTE FAR *KeyBufIn;
+ BYTE FAR *KeyBufOut;
+ unsigned int KeyBufSize;
+ BOOL quitnow;
+
+ BOOL bFocus;
+ BOOL bGetCh;
+ char *fontname; // font name
+ int fontsize; // font size in pts
+ HFONT hfont;
+ int CharAscent;
+
+ int CaretHeight;
+ int CursorFlag;
+ POINT CursorPos;
+ POINT ClientSize;
+ POINT CharSize;
+ POINT ScrollPos;
+ POINT ScrollMax;
+
+ void error(char *message);
+ void new_line(void);
+ void update_text(int count);
+ void drag_drop(HDROP hdrop);
+ void copy_to_clipboard(void);
+
+public:
+ // constructor
+ TextWindow(void);
+
+ // destructor
+ ~TextWindow(void);
+
+ // register window class
+ int register_class(HINSTANCE hinst, HICON hicon);
+
+ // test if a key has been pressed
+ // return TRUE if key hit
+ // return FALSE if no key
+ int kbhit(void);
+
+ // Get a character from the keyboard, waiting if necessary
+ int getch(void);
+
+ // Get a line from the keyboard
+ // store line in buf, with no more than len characters
+ // including null character
+ // return number of characters read
+ int gets(LPSTR buf, int len);
+
+ // Get a line from the keyboard
+ // store line in buf, with no more than len characters
+ // line is not null terminated
+ // return number of characters read
+ int read_line(LPSTR buf, int len);
+
+ // Put a character to the window
+ int putch(int ch);
+
+ // Write cnt character from buf to the window
+ void write_buf(LPSTR buf, int cnt);
+
+ // Put a string to the window
+ void puts(LPSTR str);
+
+ // Scroll window to make cursor visible
+ void to_cursor(void);
+
+ // Create and show window with given name and min/max/normal state
+ // return 0 on success, non-zero on error
+ int create(LPSTR title, int cmdShow);
+
+ // Destroy window
+ int destroy(void);
+
+ // Set window font and size
+ // a must choose monospaced
+ void font(const char *fontname, int fontsize);
+
+ // Set screen size in characters
+ void size(int width, int height);
+
+ // Set pre drag and post drag strings
+ // If a file is dropped on the window, the following will
+ // be poked into the keyboard buffer:
+ // the pre_drag string
+ // the file name
+ // the post_drag string
+ void drag(const char *pre_drag, const char *post_drag);
+
+ // member window procedure
+ LRESULT WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
+
+ // provide access to window handle
+ HWND get_handle(void) { return hwnd; };
+};
+
+/* ================================== */
+