]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Start of a Mac front-end to the terminal emulator.
authorBen Harris <bjh21@bjh21.me.uk>
Sat, 20 Feb 1999 23:57:58 +0000 (23:57 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Sat, 20 Feb 1999 23:57:58 +0000 (23:57 +0000)
[originally from svn r54]

macterm.c [new file with mode: 0644]

diff --git a/macterm.c b/macterm.c
new file mode 100644 (file)
index 0000000..99102d8
--- /dev/null
+++ b/macterm.c
@@ -0,0 +1,46 @@
+/*
+ * macterm.c -- Macintosh terminal front-end
+ */
+
+#include <MacWindows.h>
+
+#include <stdlib.h>
+
+#include "macresid.h"
+#include "putty.h"
+
+struct mac_session {
+       short fnum;
+       int fsize;
+}
+
+void mac_newsession(void) {
+    WindowPtr window;
+    struct mac_session *s;
+       
+    /* This should obviously be initialised by other means */
+    s = smalloc(sizeof(*s));
+    s->fnum = GetFNum("\pMonaco");
+    s->fsize = 9;
+    rows = 24;
+    cols = 80;
+       
+    /* XXX: non-Color-QuickDraw?  Own storage management? */
+    window = GetNewCWindow(wTerminal, NULL, (WindowPtr)-1);
+    SetPort(window);
+    mac_initfont(s);
+    term_init();
+    term_size(rows, cols);
+}
+
+void mac_initfont(struct mac_session *s) {
+    FMetricRec metrics;
+       
+    TextFont(s->fnum);
+    TextFace(0);
+    TextSize(s->fsize);
+    FontMetrics(&metrics);
+    font_width = metrics.widMax;
+    font_height = metrics.ascent + metrics.descent + metrics.leading;
+    SizeWindow(window, cols * font_width, rows * font_height, TRUE);
+}