|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T z
Length: 2090 (0x82a) Types: TextFile Names: »zoid.l«
└─⟦8648bda34⟧ Bits:30007244 EUUGD5_II: X11R5 └─⟦2ca9b63e1⟧ »./contrib-1/contrib-1.00« └─⟦a8392fb20⟧ └─⟦this⟧ »contrib/examples/CLX/zoid.l«
;;; -*- Mode:Lisp; Package:XLIB; Syntax:COMMON-LISP; Base:10; Lowercase:T -*- ;;; CLX interface for Trapezoid Extension. ;;; ;;; TEXAS INSTRUMENTS INCORPORATED ;;; P.O. BOX 2909 ;;; AUSTIN, TEXAS 78769 ;;; ;;; Copyright (C) 1987 Texas Instruments Incorporated. ;;; ;;; Permission is granted to any individual or institution to use, copy, modify, ;;; and distribute this software, provided that this complete copyright and ;;; permission notice is maintained, intact, in all copies and supporting ;;; documentation. ;;; ;;; Texas Instruments Incorporated provides this software "as is" without ;;; express or implied warranty. ;;; (in-package 'xlib :use '(lisp)) (export '(draw-filled-trapezoids gcontext-trapezoid-alignment ;; Setf'able )) (define-extension "ZoidExtension") (defun draw-filled-trapezoids (drawable gcontext points) ;; Draw trapezoids on drawable using gcontext. ;; Points are a list of either (y1 y2 y3 y4 x1 x2) ;; x-aligned ;; or (x1 x2 x3 x4 y1 y2) ;; y-aligned ;; Alignment is determined by the GCONTEXT [see gcontext-trapezoid-alignment] ;; Alignment is set with the ALIGNMENT keyword argument, which may be ;; :X, :Y, or NIL (use previous alignment) (declare (type drawable drawable) (type gcontext gcontext) (type sequence points)) (let* ((display (drawable-display drawable)) (opcode (extension-opcode display "ZoidExtension"))) (with-buffer-request (display opcode :gc-force gcontext) ((data card8) 1) ;; X_PolyFillZoid (drawable drawable) (gcontext gcontext) ((sequence :format int16) points)))) (define-gcontext-accessor trapezoid-alignment :default :x :set-function set-trapezoid-alignment) (defun set-trapezoid-alignment (gcontext alignment) (declare (type (member :x :y) alignment)) (let* ((display (gcontext-display gcontext)) (opcode (extension-opcode display "ZoidExtension"))) (with-buffer-request (display opcode) ((data card8) 2) ;; X_SetZoidAlignment (gcontext gcontext) ((member8 %error :x :y) alignment))))