Date: Tue, 1 Oct 1996 19:34:25 -0700 From: Josh MacDonald <jmacd@CS.Berkeley.EDU> To: freebsd-hackers@freebsd.org Subject: XDrawString Message-ID: <199610020234.TAA01872@paris.CS.Berkeley.EDU>
next in thread | raw e-mail | index | archive | help
I forgot to insert the source: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <X11/Xlib.h> #include <X11/keysym.h> #ifndef MIN #define MIN(a,b) ((a) < (b) ? (a) : (b)) #endif #define STRING "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQR" int main (int argc, char *argv[]) { Display *display; Window window; GC gc; XGCValues xgcv; XSetWindowAttributes attributes; XEvent event; long attributes_mask; char *display_name; int done; int i; int len = 650; display_name = NULL; if (argc == 3) if (strcmp (argv[1], "-display") == 0) display_name = argv[2]; display_name = XDisplayName (display_name); display = XOpenDisplay (display_name); if (!display) { fprintf (stderr, "could not open display: \"%s\"\n", display_name); exit (1); } fprintf (stdout, "successfully opened display: \"%s\"\n", display_name); XSynchronize (display, 1); fprintf (stdout, "turning on X synchronization\n"); attributes.event_mask = (KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | PointerMotionMask | EnterWindowMask | LeaveWindowMask | KeymapStateMask | ExposureMask | VisibilityChangeMask | StructureNotifyMask | FocusChangeMask | PropertyChangeMask | ColormapChangeMask | OwnerGrabButtonMask); attributes.background_pixel = BlackPixel (display, DefaultScreen (display)); attributes.border_pixel = BlackPixel (display, DefaultScreen (display)); attributes_mask = CWBackPixel | CWBorderPixel | CWEventMask; window = XCreateWindow (display, DefaultRootWindow (display), 0, 0, 300, 300, 0, DefaultDepth (display, DefaultScreen (display)), InputOutput, DefaultVisual (display, DefaultScreen (display)), attributes_mask, &attributes); fprintf (stdout, "successfully created window\n"); XMapWindow (display, window); fprintf (stdout, "successfully mapped windows\n"); fprintf (stdout, "attempting graphics context creation\n"); xgcv.foreground = 0x00FFFFFF; xgcv.background = 0x00000000; gc = XCreateGC (display, window, (GCForeground | GCBackground), &xgcv); fprintf (stdout, "successfully created graphics context\n"); done = 0; while (!done) { XNextEvent (display, &event); switch (event.type) { case KeyPress: case KeyRelease: done = 1; break; case ButtonRelease: break; case ButtonPress: XClearWindow (display, window); printf ("drawing string of length %d\n", len); XDrawString (display, window, gc, 10, 100, STRING, MIN (strlen(STRING), len)); len += 10; len = MIN (strlen (STRING), len); break; } } XCloseDisplay (display); return 0; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610020234.TAA01872>