Author: junrue
Date: Mon Mar 20 15:48:16 2006
New Revision: 58
Added:
trunk/src/uitoolkit/system/clib.lisp
trunk/src/uitoolkit/system/datastructs.lisp
trunk/src/uitoolkit/system/native-object.lisp
trunk/src/uitoolkit/system/system-classes.lisp
trunk/src/uitoolkit/system/system-generics.lisp
Removed:
trunk/src/intrinsics/datastructs/datastruct-classes.lisp
trunk/src/intrinsics/datastructs/datastruct.lisp
trunk/src/intrinsics/system/clib.lisp
trunk/src/intrinsics/system/native-classes.lisp
trunk/src/intrinsics/system/native-conditions.lisp
trunk/src/intrinsics/system/native-object-generics.lisp
trunk/src/intrinsics/system/native-object.lisp
Modified:
trunk/graphic-forms-uitoolkit.asd
trunk/src/packages.lisp
trunk/src/tests/uitoolkit/event-tester.lisp
trunk/src/tests/uitoolkit/hello-world.lisp
trunk/src/tests/uitoolkit/image-tester.lisp
trunk/src/tests/uitoolkit/image-unit-tests.lisp
trunk/src/tests/uitoolkit/layout-tester.lisp
trunk/src/tests/uitoolkit/layout-unit-tests.lisp
trunk/src/tests/uitoolkit/mock-objects.lisp
trunk/src/tests/uitoolkit/windlg.lisp
trunk/src/uitoolkit/graphics/font.lisp
trunk/src/uitoolkit/graphics/graphics-classes.lisp
trunk/src/uitoolkit/graphics/graphics-context.lisp
trunk/src/uitoolkit/graphics/image-data.lisp
trunk/src/uitoolkit/graphics/image.lisp
trunk/src/uitoolkit/graphics/magick-core-api.lisp
trunk/src/uitoolkit/system/system-conditions.lisp
trunk/src/uitoolkit/system/system-utils.lisp
trunk/src/uitoolkit/widgets/button.lisp
trunk/src/uitoolkit/widgets/control.lisp
trunk/src/uitoolkit/widgets/event-source.lisp
trunk/src/uitoolkit/widgets/event.lisp
trunk/src/uitoolkit/widgets/flow-layout.lisp
trunk/src/uitoolkit/widgets/item.lisp
trunk/src/uitoolkit/widgets/label.lisp
trunk/src/uitoolkit/widgets/layout.lisp
trunk/src/uitoolkit/widgets/menu-item.lisp
trunk/src/uitoolkit/widgets/menu-language.lisp
trunk/src/uitoolkit/widgets/menu.lisp
trunk/src/uitoolkit/widgets/panel.lisp
trunk/src/uitoolkit/widgets/thread-context.lisp
trunk/src/uitoolkit/widgets/top-level.lisp
trunk/src/uitoolkit/widgets/widget-classes.lisp
trunk/src/uitoolkit/widgets/widget-utils.lisp
trunk/src/uitoolkit/widgets/widget-with-items.lisp
trunk/src/uitoolkit/widgets/widget.lisp
trunk/src/uitoolkit/widgets/window.lisp
Log:
collapsed intrinsics package into uitoolkit.system
Modified: trunk/graphic-forms-uitoolkit.asd
==============================================================================
--- trunk/graphic-forms-uitoolkit.asd (original)
+++ trunk/graphic-forms-uitoolkit.asd Mon Mar 20 15:48:16 2006
@@ -46,31 +46,22 @@
((:module "src"
:components
((:file "packages")
- (:module "intrinsics"
- :depends-on ("packages")
- :components
- ((:module "datastructs"
- :components
- ((:file "datastruct-classes")
- (:file "datastruct")))
- (:module "system"
- :components
- ((:file "native-classes")
- (:file "native-conditions")
- (:file "native-object-generics")
- (:file "clib")
- (:file "native-object")))))
(:module "uitoolkit"
- :depends-on ("intrinsics")
+ :depends-on ("packages")
:components
((:module "system"
:components
((:file "system-constants")
+ (:file "system-classes")
(:file "system-conditions")
+ (:file "system-generics")
(:file "system-types")
+ (:file "datastructs")
+ (:file "clib")
(:file "gdi32")
(:file "kernel32")
(:file "user32")
+ (:file "native-object")
(:file "system-utils")))
(:module "graphics"
:depends-on ("system")
Modified: trunk/src/packages.lisp
==============================================================================
--- trunk/src/packages.lisp (original)
+++ trunk/src/packages.lisp Mon Mar 20 15:48:16 2006
@@ -41,10 +41,11 @@
(:use #:common-lisp))
;;;
-;;; package for fundamental stuff shared across the library
+;;; package for system-level functionality
;;;
-(defpackage #:graphic-forms.intrinsics
- (:nicknames #:gfi)
+(defpackage #:graphic-forms.uitoolkit.system
+ (:nicknames #:gfs)
+ (:shadow #:atom #:boolean)
(:use #:common-lisp)
(:export
@@ -57,7 +58,8 @@
;; constants
-;; methods, functions, and macros
+;; methods, functions, macros
+ #:detail
#:dispose
#:disposed-p
#:handle
@@ -77,28 +79,7 @@
#:span-end
;; conditions
- #:disposed-error))
-
-;;;
-;;; package for system-level functionality
-;;;
-(defpackage #:graphic-forms.uitoolkit.system
- (:nicknames #:gfs)
- (:shadow #:atom #:boolean)
- (:use #:common-lisp)
- (:export
-
-;; classes and structs
-
-;; constants
-
-;; methods, functions, macros
- #:detail
- #:with-compatible-dcs
- #:with-hfont-selected
- #:with-retrieved-dc
-
-;; conditions
+ #:disposed-error
#:toolkit-error
#:toolkit-warning
#:win32-error
Modified: trunk/src/tests/uitoolkit/event-tester.lisp
==============================================================================
--- trunk/src/tests/uitoolkit/event-tester.lisp (original)
+++ trunk/src/tests/uitoolkit/event-tester.lisp Mon Mar 20 15:48:16 2006
@@ -41,7 +41,7 @@
(defun exit-event-tester ()
(let ((w *event-tester-window*))
(setf *event-tester-window* nil)
- (gfi:dispose w))
+ (gfs:dispose w))
(gfw:shutdown 0))
(defclass event-tester-window-events (gfw:event-dispatcher) ())
@@ -51,7 +51,7 @@
(setf (gfg:background-color gc) gfg:*color-white*)
(setf (gfg:foreground-color gc) gfg:*color-blue*)
(let* ((sz (gfw:client-size window))
- (pnt (gfi:make-point :x 0 :y (floor (/ (gfi:size-height sz) 2)))))
+ (pnt (gfs:make-point :x 0 :y (floor (/ (gfs:size-height sz) 2)))))
(gfg:draw-text gc *event-tester-text* pnt)))
(defmethod gfw:event-close ((d event-tester-window-events) widget time)
@@ -77,8 +77,8 @@
(incf *event-counter*)
action
button
- (gfi:point-x pnt)
- (gfi:point-y pnt)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
time
(text-for-modifiers)))
@@ -106,8 +106,8 @@
"~a resize action: ~s size: (~d,~d) time: 0x~x ~s"
(incf *event-counter*)
(symbol-name type)
- (gfi:size-width size)
- (gfi:size-height size)
+ (gfs:size-width size)
+ (gfs:size-height size)
time
(text-for-modifiers)))
@@ -115,8 +115,8 @@
(format nil
"~a move point: (~d,~d) time: 0x~x ~s"
(incf *event-counter*)
- (gfi:point-x pnt)
- (gfi:point-y pnt)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
time
(text-for-modifiers)))
Modified: trunk/src/tests/uitoolkit/hello-world.lisp
==============================================================================
--- trunk/src/tests/uitoolkit/hello-world.lisp (original)
+++ trunk/src/tests/uitoolkit/hello-world.lisp Mon Mar 20 15:48:16 2006
@@ -39,22 +39,22 @@
(defmethod gfw:event-close ((d hellowin-events) window time)
(declare (ignore time))
- (gfi:dispose window)
+ (gfs:dispose window)
(gfw:shutdown 0))
(defmethod gfw:event-paint ((d hellowin-events) window time gc rect)
(declare (ignore time))
- (setf rect (make-instance 'gfi:rectangle :location (gfi:make-point)
+ (setf rect (make-instance 'gfs:rectangle :location (gfs:make-point)
:size (gfw:client-size window)))
(setf (gfg:background-color gc) gfg:*color-white*)
(gfg:draw-filled-rectangle gc rect)
(setf (gfg:background-color gc) gfg:*color-red*)
(setf (gfg:foreground-color gc) gfg:*color-green*)
- (gfg:draw-text gc "Hello World!" (gfi:make-point)))
+ (gfg:draw-text gc "Hello World!" (gfs:make-point)))
(defun exit-fn (disp item time rect)
(declare (ignorable disp item time rect))
- (gfi:dispose *hello-win*)
+ (gfs:dispose *hello-win*)
(setf *hello-win* nil)
(gfw:shutdown 0))
Modified: trunk/src/tests/uitoolkit/image-tester.lisp
==============================================================================
--- trunk/src/tests/uitoolkit/image-tester.lisp (original)
+++ trunk/src/tests/uitoolkit/image-tester.lisp Mon Mar 20 15:48:16 2006
@@ -41,55 +41,55 @@
(defclass image-events (gfw:event-dispatcher) ())
(defun dispose-images ()
- (gfi:dispose *happy-image*)
+ (gfs:dispose *happy-image*)
(setf *happy-image* nil)
- (gfi:dispose *bw-image*)
+ (gfs:dispose *bw-image*)
(setf *bw-image* nil)
- (gfi:dispose *true-image*)
+ (gfs:dispose *true-image*)
(setf *true-image* nil))
(defmethod gfw:event-close ((d image-events) window time)
(declare (ignore window time))
(dispose-images)
- (gfi:dispose *image-win*)
+ (gfs:dispose *image-win*)
(setf *image-win* nil)
(gfw:shutdown 0))
(defmethod gfw:event-paint ((d image-events) window time gc rect)
(declare (ignore window time rect))
- (let ((pnt (gfi:make-point))
- (pixel-pnt1 (gfi:make-point))
- (pixel-pnt2 (gfi:make-point :x 0 :y 15)))
+ (let ((pnt (gfs:make-point))
+ (pixel-pnt1 (gfs:make-point))
+ (pixel-pnt2 (gfs:make-point :x 0 :y 15)))
(gfg:draw-image gc *happy-image* pnt)
- (incf (gfi:point-x pnt) 36)
+ (incf (gfs:point-x pnt) 36)
(gfg:with-transparency (*happy-image* pixel-pnt1)
(gfg:draw-image gc (gfg:transparency-mask *happy-image*) pnt)
- (incf (gfi:point-x pnt) 36)
+ (incf (gfs:point-x pnt) 36)
(gfg:draw-image gc *happy-image* pnt))
- (setf (gfi:point-x pnt) 0)
- (incf (gfi:point-y pnt) 36)
+ (setf (gfs:point-x pnt) 0)
+ (incf (gfs:point-y pnt) 36)
(gfg:draw-image gc *bw-image* pnt)
- (incf (gfi:point-x pnt) 24)
+ (incf (gfs:point-x pnt) 24)
(gfg:with-transparency (*bw-image* pixel-pnt1)
(gfg:draw-image gc (gfg:transparency-mask *bw-image*) pnt)
- (incf (gfi:point-x pnt) 24)
+ (incf (gfs:point-x pnt) 24)
(gfg:draw-image gc *bw-image* pnt))
- (setf (gfi:point-x pnt) 0)
- (incf (gfi:point-y pnt) 20)
+ (setf (gfs:point-x pnt) 0)
+ (incf (gfs:point-y pnt) 20)
(gfg:draw-image gc *true-image* pnt)
- (incf (gfi:point-x pnt) 20)
+ (incf (gfs:point-x pnt) 20)
(gfg:with-transparency (*true-image* pixel-pnt2)
(gfg:draw-image gc (gfg:transparency-mask *true-image*) pnt)
- (incf (gfi:point-x pnt) 20)
+ (incf (gfs:point-x pnt) 20)
(gfg:draw-image gc *true-image* pnt))))
(defun exit-image-fn (disp item time rect)
(declare (ignorable disp item time rect))
(dispose-images)
- (gfi:dispose *image-win*)
+ (gfs:dispose *image-win*)
(setf *image-win* nil)
(gfw:shutdown 0))
@@ -103,7 +103,7 @@
(gfg::load *true-image* "truecolor16x16.bmp")
(setf *image-win* (make-instance 'gfw:top-level :dispatcher (make-instance 'image-events)
:style '(:style-workspace)))
- (setf (gfw:size *image-win*) (gfi:make-size :width 250 :height 200))
+ (setf (gfw:size *image-win*) (gfs:make-size :width 250 :height 200))
(setf (gfw:text *image-win*) "Image Tester")
(setf menubar (gfw:defmenu ((:item "&File"
:submenu ((:item "E&xit" :callback #'exit-image-fn))))))
Modified: trunk/src/tests/uitoolkit/image-unit-tests.lisp
==============================================================================
--- trunk/src/tests/uitoolkit/image-unit-tests.lisp (original)
+++ trunk/src/tests/uitoolkit/image-unit-tests.lisp Mon Mar 20 15:48:16 2006
@@ -49,24 +49,24 @@
0 0
(logior gfs::+lr-loadfromfile+
gfs::+lr-createdibsection+))))
- (if (gfi:null-handle-p hbmp)
+ (if (gfs:null-handle-p hbmp)
(error 'gfs:win32-error :detail "load-image failed"))
(setf d2 (gfg::image->data hbmp))
(assert-equal (gfg:depth d1) (gfg:depth d2) path)
(let ((size1 (gfg:size d1))
(size2 (gfg:size d2)))
- (assert-equal (gfi:size-width size1) (gfi:size-width size2) path)
- (assert-equal (gfi:size-height size1) (gfi:size-height size2) path))
+ (assert-equal (gfs:size-width size1) (gfs:size-width size2) path)
+ (assert-equal (gfs:size-height size1) (gfs:size-height size2) path))
(gfg:load im path)
(setf d3 (gfg:data-obj im))
(assert-equal (gfg:depth d1) (gfg:depth d3) path)
(let ((size1 (gfg:size d1))
(size2 (gfg:size d3)))
- (assert-equal (gfi:size-width size1) (gfi:size-width size2) path)
- (assert-equal (gfi:size-height size1) (gfi:size-height size2) path))
- (unless (gfi:disposed-p im)
- (gfi:dispose im))
- (unless (gfi:null-handle-p hbmp)
+ (assert-equal (gfs:size-width size1) (gfs:size-width size2) path)
+ (assert-equal (gfs:size-height size1) (gfs:size-height size2) path))
+ (unless (gfs:disposed-p im)
+ (gfs:dispose im))
+ (unless (gfs:null-handle-p hbmp)
(gfs::delete-object hbmp))))))
(define-test image-data-loading-test
Modified: trunk/src/tests/uitoolkit/layout-tester.lisp
==============================================================================
--- trunk/src/tests/uitoolkit/layout-tester.lisp (original)
+++ trunk/src/tests/uitoolkit/layout-tester.lisp Mon Mar 20 15:48:16 2006
@@ -46,7 +46,7 @@
(defun exit-layout-tester ()
(let ((w *layout-tester-win*))
(setf *layout-tester-win* nil)
- (gfi:dispose w))
+ (gfs:dispose w))
(gfw:shutdown 0))
(defclass layout-tester-events (gfw:event-dispatcher) ())
@@ -74,7 +74,7 @@
(defmethod gfw:preferred-size ((win test-panel) width-hint height-hint)
(declare (ignore width-hint height-hint))
- (gfi:make-size :width 45 :height 45))
+ (gfs:make-size :width 45 :height 45))
(defmethod gfw:text ((win test-panel))
(declare (ignore win))
@@ -151,7 +151,7 @@
do (if (string= (gfw:text k) text)
(setf victim k))))
(unless (null victim)
- (gfi:dispose victim)
+ (gfs:dispose victim)
(gfw:layout *layout-tester-win*))))
(defclass visibility-child-dispatcher (gfw:event-dispatcher) ())
Modified: trunk/src/tests/uitoolkit/layout-unit-tests.lisp
==============================================================================
--- trunk/src/tests/uitoolkit/layout-unit-tests.lisp (original)
+++ trunk/src/tests/uitoolkit/layout-unit-tests.lisp Mon Mar 20 15:48:16 2006
@@ -33,7 +33,7 @@
(in-package :graphic-forms.uitoolkit.tests)
-(defvar *minsize1* (gfi:make-size :width 20 :height 10))
+(defvar *minsize1* (gfs:make-size :width 20 :height 10))
(defvar *flow-layout-uniform-kids* (list (make-instance 'mock-widget :min-size *minsize1*)
(make-instance 'mock-widget :min-size *minsize1*)
(make-instance 'mock-widget :min-size *minsize1*)))
@@ -41,12 +41,12 @@
(defun validate-layout-rects (entries expected-rects)
(let ((actual-rects (loop for entry in entries collect (cdr entry))))
(mapc #'(lambda (expected actual)
- (let ((pnt-a (gfi:location actual))
- (sz-a (gfi:size actual)))
- (assert-equal (gfi:point-x pnt-a) (first expected))
- (assert-equal (gfi:point-y pnt-a) (second expected))
- (assert-equal (gfi:size-width sz-a) (third expected))
- (assert-equal (gfi:size-height sz-a) (fourth expected))))
+ (let ((pnt-a (gfs:location actual))
+ (sz-a (gfs:size actual)))
+ (assert-equal (gfs:point-x pnt-a) (first expected))
+ (assert-equal (gfs:point-y pnt-a) (second expected))
+ (assert-equal (gfs:size-width sz-a) (third expected))
+ (assert-equal (gfs:size-height sz-a) (fourth expected))))
expected-rects
actual-rects)))
@@ -62,8 +62,8 @@
(size (gfw::flow-container-size layout t *flow-layout-uniform-kids* -1 -1))
(data (gfw::flow-container-layout layout t *flow-layout-uniform-kids* -1 -1))
(expected-rects '((0 0 20 10) (20 0 20 10) (40 0 20 10))))
- (assert-equal 60 (gfi:size-width size))
- (assert-equal 10 (gfi:size-height size))
+ (assert-equal 60 (gfs:size-width size))
+ (assert-equal 10 (gfs:size-height size))
(validate-layout-rects data expected-rects)))
(define-test flow-layout-test2
@@ -78,8 +78,8 @@
(size (gfw::flow-container-size layout t *flow-layout-uniform-kids* -1 -1))
(data (gfw::flow-container-layout layout t *flow-layout-uniform-kids* -1 -1))
(expected-rects '((0 0 20 10) (0 10 20 10) (0 20 20 10))))
- (assert-equal 20 (gfi:size-width size))
- (assert-equal 30 (gfi:size-height size))
+ (assert-equal 20 (gfs:size-width size))
+ (assert-equal 30 (gfs:size-height size))
(validate-layout-rects data expected-rects)))
(define-test flow-layout-test3
@@ -146,8 +146,8 @@
(size (gfw::flow-container-size layout t *flow-layout-uniform-kids* -1 -1))
(data (gfw::flow-container-layout layout t *flow-layout-uniform-kids* -1 -1))
(expected-rects '((0 0 20 10) (24 0 20 10) (48 0 20 10))))
- (assert-equal 68 (gfi:size-width size))
- (assert-equal 10 (gfi:size-height size))
+ (assert-equal 68 (gfs:size-width size))
+ (assert-equal 10 (gfs:size-height size))
(validate-layout-rects data expected-rects)))
(define-test flow-layout-test8
@@ -162,8 +162,8 @@
(size (gfw::flow-container-size layout t *flow-layout-uniform-kids* -1 -1))
(data (gfw::flow-container-layout layout t *flow-layout-uniform-kids* -1 -1))
(expected-rects '((0 0 20 10) (0 14 20 10) (0 28 20 10))))
- (assert-equal 20 (gfi:size-width size))
- (assert-equal 38 (gfi:size-height size))
+ (assert-equal 20 (gfs:size-width size))
+ (assert-equal 38 (gfs:size-height size))
(validate-layout-rects data expected-rects)))
(define-test flow-layout-test9
@@ -207,8 +207,8 @@
(size (gfw::flow-container-size layout t *flow-layout-uniform-kids* -1 -1))
(data (gfw::flow-container-layout layout t *flow-layout-uniform-kids* -1 -1))
(expected-rects '((3 3 20 10) (23 3 20 10) (43 3 20 10))))
- (assert-equal 63 (gfi:size-width size))
- (assert-equal 13 (gfi:size-height size))
+ (assert-equal 63 (gfs:size-width size))
+ (assert-equal 13 (gfs:size-height size))
(validate-layout-rects data expected-rects)))
(define-test flow-layout-test12
@@ -226,6 +226,6 @@
(size (gfw::flow-container-size layout t *flow-layout-uniform-kids* -1 -1))
(data (gfw::flow-container-layout layout t *flow-layout-uniform-kids* -1 -1))
(expected-rects '((0 0 20 10) (0 10 20 10) (0 20 20 10))))
- (assert-equal 23 (gfi:size-width size))
- (assert-equal 33 (gfi:size-height size))
+ (assert-equal 23 (gfs:size-width size))
+ (assert-equal 33 (gfs:size-height size))
(validate-layout-rects data expected-rects)))
Modified: trunk/src/tests/uitoolkit/mock-objects.lisp
==============================================================================
--- trunk/src/tests/uitoolkit/mock-objects.lisp (original)
+++ trunk/src/tests/uitoolkit/mock-objects.lisp Mon Mar 20 15:48:16 2006
@@ -47,32 +47,32 @@
(actual-size
:accessor actual-size-of
:initarg :actual-size
- :initform (gfi:make-size))
+ :initform (gfs:make-size))
(max-size
:accessor max-size-of
:initarg :max-size
- :initform (gfi:make-size :width +max-widget-size+ :height +max-widget-size+))
+ :initform (gfs:make-size :width +max-widget-size+ :height +max-widget-size+))
(min-size
:accessor min-size-of
:initarg :min-size
- :initform (gfi:make-size))))
+ :initform (gfs:make-size))))
(defmethod initialize-instance :after ((widget mock-widget) &key)
- (setf (slot-value widget 'gfi:handle) (cffi:make-pointer #xFFFFFFFF)))
+ (setf (slot-value widget 'gfs:handle) (cffi:make-pointer #xFFFFFFFF)))
(defmethod gfw:minimum-size ((widget mock-widget))
- (gfi:make-size :width (gfi:size-width (min-size-of widget))
- :height (gfi:size-height (min-size-of widget))))
+ (gfs:make-size :width (gfs:size-width (min-size-of widget))
+ :height (gfs:size-height (min-size-of widget))))
(defmethod gfw:preferred-size ((widget mock-widget) width-hint height-hint)
- (let ((size (gfi:make-size))
+ (let ((size (gfs:make-size))
(min-size (min-size-of widget)))
(if (< width-hint 0)
- (setf (gfi:size-width size) (gfi:size-width min-size))
- (setf (gfi:size-width size) width-hint))
+ (setf (gfs:size-width size) (gfs:size-width min-size))
+ (setf (gfs:size-width size) width-hint))
(if (< height-hint 0)
- (setf (gfi:size-height size) (gfi:size-height min-size))
- (setf (gfi:size-height size) height-hint))
+ (setf (gfs:size-height size) (gfs:size-height min-size))
+ (setf (gfs:size-height size) height-hint))
size))
(defmethod gfw:visible-p ((widget mock-widget))
Modified: trunk/src/tests/uitoolkit/windlg.lisp
==============================================================================
--- trunk/src/tests/uitoolkit/windlg.lisp (original)
+++ trunk/src/tests/uitoolkit/windlg.lisp Mon Mar 20 15:48:16 2006
@@ -40,14 +40,14 @@
(defmethod gfw:event-close ((d main-win-events) window time)
(declare (ignore time))
(setf *main-win* nil)
- (gfi:dispose window)
+ (gfs:dispose window)
(gfw:shutdown 0))
(defclass test-win-events (gfw:event-dispatcher) ())
(defmethod gfw:event-paint ((d test-win-events) window time gc rect)
(declare (ignore time))
- (setf rect (make-instance 'gfi:rectangle :location (gfi:make-point)
+ (setf rect (make-instance 'gfs:rectangle :location (gfs:make-point)
:size (gfw:client-size window)))
(setf (gfg:background-color gc) gfg:*color-white*)
(gfg:draw-filled-rectangle gc rect))
@@ -56,21 +56,21 @@
(defmethod gfw:event-close ((d test-mini-events) window time)
(declare (ignore time))
- (gfi:dispose window))
+ (gfs:dispose window))
(defclass test-borderless-events (test-win-events) ())
(defmethod gfw:event-mouse-down ((d test-borderless-events) window time point button)
(declare (ignore time point button))
- (gfi:dispose window))
+ (gfs:dispose window))
(defun create-borderless-win (disp item time rect)
(declare (ignore disp item time rect))
(let ((window (make-instance 'gfw:top-level :dispatcher (make-instance 'test-borderless-events)
:owner *main-win*
:style '(:style-borderless))))
- (setf (gfw:location window) (gfi:make-point :x 400 :y 250))
- (setf (gfw:size window) (gfi:make-size :width 300 :height 250))
+ (setf (gfw:location window) (gfs:make-point :x 400 :y 250))
+ (setf (gfw:size window) (gfs:make-size :width 300 :height 250))
(gfw:show window t)))
(defun create-miniframe-win (disp item time rect)
@@ -78,8 +78,8 @@
(let ((window (make-instance 'gfw:top-level :dispatcher (make-instance 'test-mini-events)
:owner *main-win*
:style '(:style-miniframe))))
- (setf (gfw:location window) (gfi:make-point :x 250 :y 150))
- (setf (gfw:size window) (gfi:make-size :width 150 :height 225))
+ (setf (gfw:location window) (gfs:make-point :x 250 :y 150))
+ (setf (gfw:size window) (gfs:make-size :width 150 :height 225))
(setf (gfw:text window) "Mini Frame")
(gfw:show window t)))
@@ -88,14 +88,14 @@
(let ((window (make-instance 'gfw:top-level :dispatcher (make-instance 'test-mini-events)
:owner *main-win*
:style '(:style-palette))))
- (setf (gfw:location window) (gfi:make-point :x 250 :y 150))
- (setf (gfw:size window) (gfi:make-size :width 150 :height 225))
+ (setf (gfw:location window) (gfs:make-point :x 250 :y 150))
+ (setf (gfw:size window) (gfs:make-size :width 150 :height 225))
(setf (gfw:text window) "Palette")
(gfw:show window t)))
(defun exit-callback (disp item time rect)
(declare (ignore disp item time rect))
- (gfi:dispose *main-win*)
+ (gfs:dispose *main-win*)
(setf *main-win* nil)
(gfw:shutdown 0))
Modified: trunk/src/uitoolkit/graphics/font.lisp
==============================================================================
--- trunk/src/uitoolkit/graphics/font.lisp (original)
+++ trunk/src/uitoolkit/graphics/font.lisp Mon Mar 20 15:48:16 2006
@@ -37,8 +37,8 @@
;;; methods
;;;
-(defmethod gfi:dispose ((fn font))
- (let ((hgdi (gfi:handle fn)))
- (unless (gfi:null-handle-p hgdi)
+(defmethod gfs:dispose ((fn font))
+ (let ((hgdi (gfs:handle fn)))
+ (unless (gfs:null-handle-p hgdi)
(gfs::delete-object hgdi)))
- (setf (slot-value fn 'gfi:handle) nil))
+ (setf (slot-value fn 'gfs:handle) nil))
Modified: trunk/src/uitoolkit/graphics/graphics-classes.lisp
==============================================================================
--- trunk/src/uitoolkit/graphics/graphics-classes.lisp (original)
+++ trunk/src/uitoolkit/graphics/graphics-classes.lisp Mon Mar 20 15:48:16 2006
@@ -76,16 +76,16 @@
(direct nil)
(table nil))) ; vector of COLOR structs
-(defclass image-data (gfi:native-object) ()
+(defclass image-data (gfs:native-object) ()
(:documentation "This class maintains image attributes, color, and pixel data."))
-(defclass font (gfi:native-object) ()
+(defclass font (gfs:native-object) ()
(:documentation "This class encapsulates a realized native font."))
-(defclass graphics-context (gfi:native-object) ()
+(defclass graphics-context (gfs:native-object) ()
(:documentation "This class represents the context associated with drawing primitives."))
-(defclass image (gfi:native-object)
+(defclass image (gfs:native-object)
((transparency-pixel
:accessor transparency-pixel-of
:initarg :transparency-pixel
@@ -116,8 +116,8 @@
(defmacro color-table (data)
`(gfg::palette-table ,data))
-(defclass pattern (gfi:native-object) ()
+(defclass pattern (gfs:native-object) ()
(:documentation "This class represents a pattern to be used with a brush."))
-(defclass transform (gfi:native-object) ()
+(defclass transform (gfs:native-object) ()
(:documentation "This class specifies how coordinates are transformed."))
Modified: trunk/src/uitoolkit/graphics/graphics-context.lisp
==============================================================================
--- trunk/src/uitoolkit/graphics/graphics-context.lisp (original)
+++ trunk/src/uitoolkit/graphics/graphics-context.lisp Mon Mar 20 15:48:16 2006
@@ -41,41 +41,41 @@
;;; methods
;;;
-(defmethod gfi:dispose ((gc graphics-context))
- (gfs::delete-dc (gfi:handle gc))
- (setf (slot-value gc 'gfi:handle) nil))
+(defmethod gfs:dispose ((gc graphics-context))
+ (gfs::delete-dc (gfs:handle gc))
+ (setf (slot-value gc 'gfs:handle) nil))
(defmethod background-color ((gc graphics-context))
- (if (gfi:disposed-p gc)
- (error 'gfi:disposed-error))
- (gfs::get-bk-color (gfi:handle gc)))
+ (if (gfs:disposed-p gc)
+ (error 'gfs:disposed-error))
+ (gfs::get-bk-color (gfs:handle gc)))
(defmethod (setf background-color) ((clr color) (gc graphics-context))
- (if (gfi:disposed-p gc)
- (error 'gfi:disposed-error))
- (let ((hdc (gfi:handle gc))
+ (if (gfs:disposed-p gc)
+ (error 'gfs:disposed-error))
+ (let ((hdc (gfs:handle gc))
(hbrush (gfs::get-stock-object gfs::+dc-brush+))
(rgb (color-as-rgb clr)))
(gfs::select-object hdc hbrush)
(gfs::set-dc-brush-color hdc rgb)
(gfs::set-bk-color hdc rgb)))
-(defmethod draw-filled-rectangle ((gc graphics-context) (rect gfi:rectangle))
- (if (gfi:disposed-p gc)
- (error 'gfi:disposed-error))
- (let ((hdc (gfi:handle gc))
- (pnt (gfi:location rect))
- (size (gfi:size rect)))
+(defmethod draw-filled-rectangle ((gc graphics-context) (rect gfs:rectangle))
+ (if (gfs:disposed-p gc)
+ (error 'gfs:disposed-error))
+ (let ((hdc (gfs:handle gc))
+ (pnt (gfs:location rect))
+ (size (gfs:size rect)))
(cffi:with-foreign-object (rect-ptr 'gfs::rect)
(cffi:with-foreign-slots ((gfs::left gfs::right gfs::top gfs::bottom)
rect-ptr gfs::rect)
- (setf gfs::top (gfi:point-y pnt))
- (setf gfs::left (gfi:point-x pnt))
- (setf gfs::bottom (+ (gfi:point-y pnt) (gfi:size-height size)))
- (setf gfs::right (+ (gfi:point-x pnt) (gfi:size-width size)))
+ (setf gfs::top (gfs:point-y pnt))
+ (setf gfs::left (gfs:point-x pnt))
+ (setf gfs::bottom (+ (gfs:point-y pnt) (gfs:size-height size)))
+ (setf gfs::right (+ (gfs:point-x pnt) (gfs:size-width size)))
(gfs::ext-text-out hdc
- (gfi:point-x pnt)
- (gfi:point-y pnt)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
gfs::+eto-opaque+
rect-ptr
""
@@ -85,19 +85,19 @@
;;;
;;; TODO: support addressing elements within bitmap as if it were an array
;;;
-(defmethod draw-image ((gc graphics-context) (im image) (pnt gfi:point))
- (if (gfi:disposed-p gc)
- (error 'gfi:disposed-error))
- (if (gfi:disposed-p im)
- (error 'gfi:disposed-error))
- (let ((gc-dc (gfi:handle gc))
- (himage (gfi:handle im))
+(defmethod draw-image ((gc graphics-context) (im image) (pnt gfs:point))
+ (if (gfs:disposed-p gc)
+ (error 'gfs:disposed-error))
+ (if (gfs:disposed-p im)
+ (error 'gfs:disposed-error))
+ (let ((gc-dc (gfs:handle gc))
+ (himage (gfs:handle im))
(memdc (gfs::create-compatible-dc (cffi:null-pointer))))
(cffi:with-foreign-object (bmp-ptr 'gfs::bitmap)
(cffi:with-foreign-slots ((gfs::width gfs::height) bmp-ptr gfs::bitmap)
(gfs::get-object himage (cffi:foreign-type-size 'gfs::bitmap) bmp-ptr)
(if (not (null (transparency-pixel-of im)))
- (let ((hmask (gfi:handle (transparency-mask im)))
+ (let ((hmask (gfs:handle (transparency-mask im)))
(hcopy (clone-bitmap himage))
(memdc2 (gfs::create-compatible-dc (cffi:null-pointer)))
(black (make-color :red 0 :green 0 :blue 0))
@@ -113,15 +113,15 @@
memdc
0 0 gfs::+blt-srcand+)
(gfs::bit-blt gc-dc
- (gfi:point-x pnt)
- (gfi:point-y pnt)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
gfs::width
gfs::height
memdc
0 0 gfs::+blt-srcand+)
(gfs::bit-blt gc-dc
- (gfi:point-x pnt)
- (gfi:point-y pnt)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
gfs::width
gfs::height
memdc2
@@ -129,29 +129,29 @@
(progn
(gfs::select-object memdc himage)
(gfs::bit-blt gc-dc
- (gfi:point-x pnt)
- (gfi:point-y pnt)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
gfs::width
gfs::height
memdc
0 0 gfs::+blt-srccopy+)))))
(gfs::delete-dc memdc)))
-(defmethod draw-text ((gc graphics-context) text (pnt gfi:point))
- (if (gfi:disposed-p gc)
- (error 'gfi:disposed-error))
+(defmethod draw-text ((gc graphics-context) text (pnt gfs:point))
+ (if (gfs:disposed-p gc)
+ (error 'gfs:disposed-error))
(cffi:with-foreign-object (rect-ptr 'gfs::rect)
(cffi:with-foreign-slots ((gfs::left gfs::right gfs::top gfs::bottom)
rect-ptr gfs::rect)
- (setf gfs::left (gfi:point-x pnt))
- (setf gfs::top (gfi:point-y pnt))
- (gfs::draw-text (gfi:handle gc)
+ (setf gfs::left (gfs:point-x pnt))
+ (setf gfs::top (gfs:point-y pnt))
+ (gfs::draw-text (gfs:handle gc)
text
-1
rect-ptr
(logior gfs::+dt-calcrect+ gfs::+dt-singleline+)
(cffi:null-pointer))
- (gfs::draw-text (gfi:handle gc)
+ (gfs::draw-text (gfs:handle gc)
text
(length text)
rect-ptr
@@ -162,14 +162,14 @@
(cffi:null-pointer)))))
(defmethod foreground-color ((gc graphics-context))
- (if (gfi:disposed-p gc)
- (error 'gfi:disposed-error))
- (gfs::get-text-color (gfi:handle gc)))
+ (if (gfs:disposed-p gc)
+ (error 'gfs:disposed-error))
+ (gfs::get-text-color (gfs:handle gc)))
(defmethod (setf foreground-color) ((clr color) (gc graphics-context))
- (if (gfi:disposed-p gc)
- (error 'gfi:disposed-error))
- (let ((hdc (gfi:handle gc))
+ (if (gfs:disposed-p gc)
+ (error 'gfs:disposed-error))
+ (let ((hdc (gfs:handle gc))
(hpen (gfs::get-stock-object gfs::+dc-pen+))
(rgb (color-as-rgb clr)))
(gfs::select-object hdc hpen)
Modified: trunk/src/uitoolkit/graphics/image-data.lisp
==============================================================================
--- trunk/src/uitoolkit/graphics/image-data.lisp (original)
+++ trunk/src/uitoolkit/graphics/image-data.lisp Mon Mar 20 15:48:16 2006
@@ -63,10 +63,10 @@
bc-ptr
gfs::+dib-rgb-colors+))
(error 'gfs:win32-error :detail "get-di-bits failed <1>"))
- (setf sz (gfi:make-size :width gfs::bcwidth :height gfs::bcheight))
+ (setf sz (gfs:make-size :width gfs::bcwidth :height gfs::bcheight))
(setf data (make-image-data :bits-per-pixel gfs::bcbitcount :size sz))))
- (setf byte-count (* (bmp-pixel-row-length (gfi:size-width sz) (bits-per-pixel data))
- (gfi:size-height sz)))
+ (setf byte-count (* (bmp-pixel-row-length (gfs:size-width sz) (bits-per-pixel data))
+ (gfs:size-height sz)))
(setf raw-bits (cffi:foreign-alloc :unsigned-char :count byte-count))
(cffi:with-foreign-object (bi-ptr 'gfs::bitmapinfo)
(cffi:with-foreign-slots ((gfs::bisize
@@ -79,14 +79,14 @@
gfs::bmicolors)
bi-ptr gfs::bitmapinfo)
(setf gfs::bisize (cffi:foreign-type-size 'gfs::bitmapinfoheader))
- (setf gfs::biwidth (gfi:size-width sz))
- (setf gfs::biheight (gfi:size-height sz))
+ (setf gfs::biwidth (gfs:size-width sz))
+ (setf gfs::biheight (gfs:size-height sz))
(setf gfs::biplanes 1)
(setf gfs::bibitcount (bits-per-pixel data))
(setf gfs::bicompression gfs::+bi-rgb+)
(when (zerop (gfs::get-di-bits mem-dc
hbmp
- 0 (gfi:size-height sz)
+ 0 (gfs:size-height sz)
raw-bits
bi-ptr
gfs::+dib-rgb-colors+))
@@ -140,14 +140,14 @@
gfs::biclrimp
gfs::bmicolors)
bi-ptr gfs::bitmapinfo)
- (let* ((handle (gfi:handle data))
+ (let* ((handle (gfs:handle data))
(sz (size data))
- (pix-count (* (gfi:size-width sz) (gfi:size-height sz)))
+ (pix-count (* (gfs:size-width sz) (gfs:size-height sz)))
(hbmp (cffi:null-pointer))
(screen-dc (gfs::get-dc (cffi:null-pointer))))
(setf gfs::bisize (cffi:foreign-type-size 'gfs::bitmapinfoheader))
- (setf gfs::biwidth (gfi:size-width sz))
- (setf gfs::biheight (- 0 (gfi:size-height sz)))
+ (setf gfs::biwidth (gfs:size-width sz))
+ (setf gfs::biheight (- 0 (gfs:size-height sz)))
(setf gfs::biplanes 1)
(setf gfs::bibitcount 32) ;; 32bpp even if original image file is not
(setf gfs::bicompression gfs::+bi-rgb+)
@@ -166,12 +166,12 @@
pix-bits-ptr
(cffi:null-pointer)
0))
- (if (gfi:null-handle-p hbmp)
+ (if (gfs:null-handle-p hbmp)
(error 'gfs:win32-error :detail "create-dib-section failed"))
;; update the RGBQUADs
;;
- (let ((tmp (get-image-pixels handle 0 0 (gfi:size-width sz) (gfi:size-height sz)))
+ (let ((tmp (get-image-pixels handle 0 0 (gfs:size-width sz) (gfs:size-height sz)))
(ptr (cffi:mem-ref pix-bits-ptr :pointer)))
(dotimes (i pix-count)
(cffi:with-foreign-slots ((gfg::blue gfg::green gfg::red gfg::reserved)
@@ -190,17 +190,17 @@
;;;
(defmethod depth ((data image-data))
- (let ((handle (gfi:handle data)))
+ (let ((handle (gfs:handle data)))
(if (null handle)
- (error 'gfi:disposed-error))
+ (error 'gfs:disposed-error))
(cffi:foreign-slot-value handle 'magick-image 'depth)))
-(defmethod gfi:dispose ((data image-data))
- (let ((victim (gfi:handle data)))
+(defmethod gfs:dispose ((data image-data))
+ (let ((victim (gfs:handle data)))
(if (null victim)
- (error 'gfi:disposed-error))
+ (error 'gfs:disposed-error))
(destroy-image victim))
- (setf (slot-value data 'gfi:handle) nil))
+ (setf (slot-value data 'gfs:handle) nil))
(defmethod load ((data image-data) path)
(setf path (cond
@@ -208,10 +208,10 @@
((typep path 'string) path)
(t
(error 'gfs:toolkit-error :detail "pathname or string required"))))
- (let ((handle (gfi:handle data)))
+ (let ((handle (gfs:handle data)))
(when (and (not (null handle)) (not (cffi:null-pointer-p handle)))
(destroy-image handle)
- (setf (slot-value data 'gfi:handle) nil)
+ (setf (slot-value data 'gfs:handle) nil)
(setf handle nil))
(with-image-path (path info ex)
(setf handle (read-image info ex))
@@ -221,48 +221,48 @@
(cffi:foreign-slot-value ex 'exception-info 'reason))))
(if (cffi:null-pointer-p handle)
(error 'gfs:toolkit-error :detail (format nil "could not load image: ~a" path)))
- (setf (slot-value data 'gfi:handle) handle))))
+ (setf (slot-value data 'gfs:handle) handle))))
(defmethod size ((data image-data))
- (let ((handle (gfi:handle data))
- (size (gfi:make-size)))
+ (let ((handle (gfs:handle data))
+ (size (gfs:make-size)))
(if (or (null handle) (cffi:null-pointer-p handle))
- (error 'gfi:disposed-error))
+ (error 'gfs:disposed-error))
(cffi:with-foreign-slots ((rows columns) handle magick-image)
- (setf (gfi:size-height size) rows)
- (setf (gfi:size-width size) columns))
+ (setf (gfs:size-height size) rows)
+ (setf (gfs:size-width size) columns))
size))
(defmethod (setf size) (size (data image-data))
- (let ((handle (gfi:handle data))
+ (let ((handle (gfs:handle data))
(new-handle (cffi:null-pointer))
(ex (acquire-exception-info)))
(if (or (null handle) (cffi:null-pointer-p handle))
- (error 'gfi:disposed-error))
+ (error 'gfs:disposed-error))
(unwind-protect
(progn
(setf new-handle (resize-image handle
- (gfi:size-width size)
- (gfi:size-height size)
+ (gfs:size-width size)
+ (gfs:size-height size)
(cffi:foreign-enum-value 'filter-types :lanczos)
1.0 ex))
- (if (gfi:null-handle-p new-handle)
+ (if (gfs:null-handle-p new-handle)
(error 'gfs:toolkit-error :detail (format nil
"could not resize: ~a"
(cffi:foreign-slot-value ex
'exception-info
'reason))))
- (setf (slot-value data 'gfi:handle) new-handle)
+ (setf (slot-value data 'gfs:handle) new-handle)
(destroy-image handle))
(destroy-exception-info ex))))
(defmethod print-object ((data image-data) stream)
- (if (or (null (gfi:handle data)) (cffi:null-pointer-p (gfi:handle data)))
- (error 'gfi:disposed-error))
+ (if (or (null (gfs:handle data)) (cffi:null-pointer-p (gfs:handle data)))
+ (error 'gfs:disposed-error))
(let ((size (size data)))
(print-unreadable-object (data stream :type t)
;; FIXME: dump palette info, too
;;
- (format stream "width: ~a " (gfi:size-width size))
- (format stream "height: ~a " (gfi:size-height size))
+ (format stream "width: ~a " (gfs:size-width size))
+ (format stream "height: ~a " (gfs:size-height size))
(format stream "bits per pixel: ~a " (depth data)))))
Modified: trunk/src/uitoolkit/graphics/image.lisp
==============================================================================
--- trunk/src/uitoolkit/graphics/image.lisp (original)
+++ trunk/src/uitoolkit/graphics/image.lisp Mon Mar 20 15:48:16 2006
@@ -49,7 +49,7 @@
(defun clone-bitmap (horig)
(let ((hclone (cffi:null-pointer))
(nptr (cffi:null-pointer)))
- (gfs:with-compatible-dcs (nptr memdc-src memdc-dest)
+ (gfs::with-compatible-dcs (nptr memdc-src memdc-dest)
(cffi:with-foreign-object (bmp-ptr 'gfs::bitmap)
(cffi:with-foreign-slots ((gfs::width gfs::height) bmp-ptr gfs::bitmap)
(gfs::get-object horig (cffi:foreign-type-size 'gfs::bitmap) bmp-ptr)
@@ -65,21 +65,21 @@
;;; methods
;;;
-(defmethod gfi:dispose ((im image))
- (let ((hgdi (gfi:handle im)))
- (unless (gfi:null-handle-p hgdi)
+(defmethod gfs:dispose ((im image))
+ (let ((hgdi (gfs:handle im)))
+ (unless (gfs:null-handle-p hgdi)
(gfs::delete-object hgdi)))
- (setf (slot-value im 'gfi:handle) nil))
+ (setf (slot-value im 'gfs:handle) nil))
(defmethod data-obj ((im image))
- (when (gfi:disposed-p im)
- (error 'gfi:disposed-error))
- (image->data (gfi:handle im)))
+ (when (gfs:disposed-p im)
+ (error 'gfs:disposed-error))
+ (image->data (gfs:handle im)))
(defmethod (setf data-obj) ((id image-data) (im image))
- (unless (gfi:disposed-p im)
- (gfi:dispose im))
- (setf (slot-value im 'gfi:handle) (data->image id)))
+ (unless (gfs:disposed-p im)
+ (gfs:dispose im))
+ (setf (slot-value im 'gfs:handle) (data->image id)))
(defmethod load ((im image) path)
(let ((data (make-instance 'image-data)))
@@ -88,24 +88,24 @@
data))
(defmethod transparency-mask ((im image))
- (if (gfi:disposed-p im)
- (error 'gfi:disposed-error))
+ (if (gfs:disposed-p im)
+ (error 'gfs:disposed-error))
(let ((pixel-pnt (transparency-pixel-of im))
- (hbmp (gfi:handle im))
+ (hbmp (gfs:handle im))
(hmask (cffi:null-pointer))
(nptr (cffi:null-pointer))
(old-bg 0))
(unless (null pixel-pnt)
(cffi:with-foreign-object (bmp-ptr 'gfs::bitmap)
- (gfs::get-object (gfi:handle im) (cffi:foreign-type-size 'gfs::bitmap) bmp-ptr)
+ (gfs::get-object (gfs:handle im) (cffi:foreign-type-size 'gfs::bitmap) bmp-ptr)
(cffi:with-foreign-slots ((gfs::width gfs::height) bmp-ptr gfs::bitmap)
(setf hmask (gfs::create-bitmap gfs::width gfs::height 1 1 (cffi:null-pointer)))
- (if (gfi:null-handle-p hmask)
+ (if (gfs:null-handle-p hmask)
(error 'gfs:win32-error :detail "create-bitmap failed"))
(gfs::with-compatible-dcs (nptr memdc1 memdc2)
(gfs::select-object memdc1 hbmp)
(setf old-bg (gfs::set-bk-color memdc1
- (gfs::get-pixel memdc1 (gfi:point-x pixel-pnt) (gfi:point-y pixel-pnt))))
+ (gfs::get-pixel memdc1 (gfs:point-x pixel-pnt) (gfs:point-y pixel-pnt))))
(gfs::select-object memdc2 hmask)
(gfs::bit-blt memdc2 0 0 gfs::width gfs::height memdc1 0 0 gfs::+blt-srccopy+)
(gfs::set-bk-color memdc1 old-bg))))
Modified: trunk/src/uitoolkit/graphics/magick-core-api.lisp
==============================================================================
--- trunk/src/uitoolkit/graphics/magick-core-api.lisp (original)
+++ trunk/src/uitoolkit/graphics/magick-core-api.lisp Mon Mar 20 15:48:16 2006
@@ -190,7 +190,7 @@
(error 'gfs:toolkit-error :detail "could not allocate Magick ImageInfo object"))
(unwind-protect
(cffi:with-foreign-string (str ,path)
- (gfi::strncpy (cffi:foreign-slot-pointer ,info 'magick-image-info 'filename)
+ (gfs::strncpy (cffi:foreign-slot-pointer ,info 'magick-image-info 'filename)
str
(1- +magick-max-text-extent+))
,@body))
Added: trunk/src/uitoolkit/system/clib.lisp
==============================================================================
--- (empty file)
+++ trunk/src/uitoolkit/system/clib.lisp Mon Mar 20 15:48:16 2006
@@ -0,0 +1,44 @@
+;;;;
+;;;; clib.lisp
+;;;;
+;;;; Copyright (C) 2006, Jack D. Unrue
+;;;; All rights reserved.
+;;;;
+;;;; Redistribution and use in source and binary forms, with or without
+;;;; modification, are permitted provided that the following conditions
+;;;; are met:
+;;;;
+;;;; 1. Redistributions of source code must retain the above copyright
+;;;; notice, this list of conditions and the following disclaimer.
+;;;;
+;;;; 2. Redistributions in binary form must reproduce the above copyright
+;;;; notice, this list of conditions and the following disclaimer in the
+;;;; documentation and/or other materials provided with the distribution.
+;;;;
+;;;; 3. Neither the names of the authors nor the names of its contributors
+;;;; may be used to endorse or promote products derived from this software
+;;;; without specific prior written permission.
+;;;;
+;;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" AND ANY
+;;;; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
+;;;; CLAIMED. IN NO EVENT SHALL THE AUTHORS AND CONTRIBUTORS BE LIABLE FOR ANY
+;;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+;;;; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+;;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+;;;; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+;;;;
+
+(in-package :graphic-forms.uitoolkit.system)
+
+(eval-when (:compile-toplevel :load-toplevel :execute)
+ (use-package :cffi))
+
+(defcfun
+ ("strncpy" strncpy)
+ :pointer
+ (dest :pointer)
+ (src :pointer)
+ (count :unsigned-int))
Added: trunk/src/uitoolkit/system/datastructs.lisp
==============================================================================
--- (empty file)
+++ trunk/src/uitoolkit/system/datastructs.lisp Mon Mar 20 15:48:16 2006
@@ -0,0 +1,55 @@
+;;;;
+;;;; datastructs.lisp
+;;;;
+;;;; Copyright (C) 2006, Jack D. Unrue
+;;;; All rights reserved.
+;;;;
+;;;; Redistribution and use in source and binary forms, with or without
+;;;; modification, are permitted provided that the following conditions
+;;;; are met:
+;;;;
+;;;; 1. Redistributions of source code must retain the above copyright
+;;;; notice, this list of conditions and the following disclaimer.
+;;;;
+;;;; 2. Redistributions in binary form must reproduce the above copyright
+;;;; notice, this list of conditions and the following disclaimer in the
+;;;; documentation and/or other materials provided with the distribution.
+;;;;
+;;;; 3. Neither the names of the authors nor the names of its contributors
+;;;; may be used to endorse or promote products derived from this software
+;;;; without specific prior written permission.
+;;;;
+;;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" AND ANY
+;;;; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
+;;;; CLAIMED. IN NO EVENT SHALL THE AUTHORS AND CONTRIBUTORS BE LIABLE FOR ANY
+;;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+;;;; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+;;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+;;;; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+;;;;
+
+(in-package :graphic-forms.uitoolkit.system)
+
+(defstruct point (x 0) (y 0) (z 0))
+
+(defstruct size (width 0) (height 0) (depth 0))
+
+(defstruct span (start 0) (end 0))
+
+(defclass rectangle ()
+ ((location
+ :accessor location
+ :initarg :location
+ :initform (make-point))
+ (size
+ :accessor size
+ :initarg :size
+ :initform (make-size)))
+ (:documentation "Describes the perimeter of a rectangular region in a given coordinate system."))
+
+(defmethod print-object ((obj rectangle) stream)
+ (print-unreadable-object (obj stream :type t)
+ (format stream "location: ~a size: ~a" (location obj) (size obj))))
Added: trunk/src/uitoolkit/system/native-object.lisp
==============================================================================
--- (empty file)
+++ trunk/src/uitoolkit/system/native-object.lisp Mon Mar 20 15:48:16 2006
@@ -0,0 +1,40 @@
+;;;;
+;;;; native-object.lisp
+;;;;
+;;;; Copyright (C) 2006, Jack D. Unrue
+;;;; All rights reserved.
+;;;;
+;;;; Redistribution and use in source and binary forms, with or without
+;;;; modification, are permitted provided that the following conditions
+;;;; are met:
+;;;;
+;;;; 1. Redistributions of source code must retain the above copyright
+;;;; notice, this list of conditions and the following disclaimer.
+;;;;
+;;;; 2. Redistributions in binary form must reproduce the above copyright
+;;;; notice, this list of conditions and the following disclaimer in the
+;;;; documentation and/or other materials provided with the distribution.
+;;;;
+;;;; 3. Neither the names of the authors nor the names of its contributors
+;;;; may be used to endorse or promote products derived from this software
+;;;; without specific prior written permission.
+;;;;
+;;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" AND ANY
+;;;; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
+;;;; CLAIMED. IN NO EVENT SHALL THE AUTHORS AND CONTRIBUTORS BE LIABLE FOR ANY
+;;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+;;;; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+;;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+;;;; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+;;;;
+
+(in-package :graphic-forms.uitoolkit.system)
+
+(defmethod disposed-p ((obj native-object))
+ (null (handle obj)))
+
+(defmacro null-handle-p (handle)
+ `(cffi:null-pointer-p ,handle))
Added: trunk/src/uitoolkit/system/system-classes.lisp
==============================================================================
--- (empty file)
+++ trunk/src/uitoolkit/system/system-classes.lisp Mon Mar 20 15:48:16 2006
@@ -0,0 +1,41 @@
+;;;;
+;;;; system-classes.lisp
+;;;;
+;;;; Copyright (C) 2006, Jack D. Unrue
+;;;; All rights reserved.
+;;;;
+;;;; Redistribution and use in source and binary forms, with or without
+;;;; modification, are permitted provided that the following conditions
+;;;; are met:
+;;;;
+;;;; 1. Redistributions of source code must retain the above copyright
+;;;; notice, this list of conditions and the following disclaimer.
+;;;;
+;;;; 2. Redistributions in binary form must reproduce the above copyright
+;;;; notice, this list of conditions and the following disclaimer in the
+;;;; documentation and/or other materials provided with the distribution.
+;;;;
+;;;; 3. Neither the names of the authors nor the names of its contributors
+;;;; may be used to endorse or promote products derived from this software
+;;;; without specific prior written permission.
+;;;;
+;;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" AND ANY
+;;;; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
+;;;; CLAIMED. IN NO EVENT SHALL THE AUTHORS AND CONTRIBUTORS BE LIABLE FOR ANY
+;;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+;;;; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+;;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+;;;; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+;;;;
+
+(in-package :graphic-forms.uitoolkit.system)
+
+(defclass native-object ()
+ ((handle
+ :reader handle
+ :initarg :handle
+ :initform nil))
+ (:documentation "This is the base class for all objects that have a native handle representation at the system level."))
Modified: trunk/src/uitoolkit/system/system-conditions.lisp
==============================================================================
--- trunk/src/uitoolkit/system/system-conditions.lisp (original)
+++ trunk/src/uitoolkit/system/system-conditions.lisp Mon Mar 20 15:48:16 2006
@@ -47,6 +47,8 @@
(print-unreadable-object (obj stream :type t)
(format stream "~s" (detail obj))))
+(define-condition disposed-error (error) ())
+
(define-condition win32-error (toolkit-error)
((code :reader code :initarg :code :initform (get-last-error))))
Added: trunk/src/uitoolkit/system/system-generics.lisp
==============================================================================
--- (empty file)
+++ trunk/src/uitoolkit/system/system-generics.lisp Mon Mar 20 15:48:16 2006
@@ -0,0 +1,40 @@
+;;;;
+;;;; system-generics.lisp
+;;;;
+;;;; Copyright (C) 2006, Jack D. Unrue
+;;;; All rights reserved.
+;;;;
+;;;; Redistribution and use in source and binary forms, with or without
+;;;; modification, are permitted provided that the following conditions
+;;;; are met:
+;;;;
+;;;; 1. Redistributions of source code must retain the above copyright
+;;;; notice, this list of conditions and the following disclaimer.
+;;;;
+;;;; 2. Redistributions in binary form must reproduce the above copyright
+;;;; notice, this list of conditions and the following disclaimer in the
+;;;; documentation and/or other materials provided with the distribution.
+;;;;
+;;;; 3. Neither the names of the authors nor the names of its contributors
+;;;; may be used to endorse or promote products derived from this software
+;;;; without specific prior written permission.
+;;;;
+;;;; THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS "AS IS" AND ANY
+;;;; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+;;;; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DIS-
+;;;; CLAIMED. IN NO EVENT SHALL THE AUTHORS AND CONTRIBUTORS BE LIABLE FOR ANY
+;;;; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+;;;; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+;;;; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+;;;; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+;;;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+;;;; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+;;;;
+
+(in-package :graphic-forms.uitoolkit.system)
+
+(defgeneric dispose (native-object)
+ (:documentation "Discards native resources and executes other cleanup code."))
+
+(defgeneric disposed-p (native-object)
+ (:documentation "Returns T if the target has had dispose called; nil otherwise."))
Modified: trunk/src/uitoolkit/system/system-utils.lisp
==============================================================================
--- trunk/src/uitoolkit/system/system-utils.lisp (original)
+++ trunk/src/uitoolkit/system/system-utils.lisp Mon Mar 20 15:48:16 2006
@@ -44,7 +44,7 @@
(progn
(setf ,hfont-old (gfs::select-object ,hdc ,hfont))
,@body)
- (unless (gfi:null-handle-p ,hfont-old)
+ (unless (gfs:null-handle-p ,hfont-old)
(gfs::select-object ,hdc ,hfont-old))))))
(defmacro with-retrieved-dc ((hwnd hdc-var) &body body)
@@ -52,7 +52,7 @@
(unwind-protect
(progn
(setf ,hdc-var (gfs::get-dc ,hwnd))
- (if (gfi:null-handle-p ,hdc-var)
+ (if (gfs:null-handle-p ,hdc-var)
(error 'gfs:win32-error :detail "get-dc failed"))
,@body)
(gfs::release-dc ,hwnd ,hdc-var))))
Modified: trunk/src/uitoolkit/widgets/button.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/button.lisp (original)
+++ trunk/src/uitoolkit/widgets/button.lisp Mon Mar 20 15:48:16 2006
@@ -68,22 +68,22 @@
(compute-style-flags btn style)
(let ((hwnd (create-window gfs::+button-classname+
" "
- (gfi:handle parent)
+ (gfs:handle parent)
(logior std-style gfs::+ws-child+ gfs::+ws-visible+)
ex-style)))
(if (not hwnd)
(error 'gfs:win32-error :detail "create-window failed"))
- (setf (slot-value btn 'gfi:handle) hwnd)))
+ (setf (slot-value btn 'gfs:handle) hwnd)))
(init-control btn))
(defmethod preferred-size ((btn button) width-hint height-hint)
(let ((sz (widget-text-size btn gfs::+dt-singleline+ 0)))
(if (>= width-hint 0)
- (setf (gfi:size-width sz) width-hint)
- (setf (gfi:size-width sz) (+ (gfi:size-width sz) 14)))
+ (setf (gfs:size-width sz) width-hint)
+ (setf (gfs:size-width sz) (+ (gfs:size-width sz) 14)))
(if (>= height-hint 0)
- (setf (gfi:size-height sz) height-hint)
- (setf (gfi:size-height sz) (+ (gfi:size-height sz) 10)))
+ (setf (gfs:size-height sz) height-hint)
+ (setf (gfs:size-height sz) (+ (gfs:size-height sz) 10)))
sz))
(defmethod text ((btn button))
Modified: trunk/src/uitoolkit/widgets/control.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/control.lisp (original)
+++ trunk/src/uitoolkit/widgets/control.lisp Mon Mar 20 15:48:16 2006
@@ -38,11 +38,11 @@
;;;
(defun init-control (ctrl)
- (let ((hwnd (gfi:handle ctrl)))
+ (let ((hwnd (gfs:handle ctrl)))
(subclass-wndproc hwnd)
(put-widget (thread-context) ctrl)
(let ((hfont (gfs::get-stock-object gfs::+default-gui-font+)))
- (unless (gfi:null-handle-p hfont)
+ (unless (gfs:null-handle-p hfont)
(unless (zerop (gfs::send-message hwnd
gfs::+wm-setfont+
(cffi:pointer-address hfont)
@@ -54,10 +54,10 @@
;;;
(defmethod initialize-instance :after ((ctrl control) &key parent &allow-other-keys)
- (if (gfi:disposed-p parent)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p parent)
+ (error 'gfs:disposed-error)))
(defmethod preferred-size :before ((ctrl control) width-hint height-hint)
(declare (ignorable width-hint height-hint))
- (if (gfi:disposed-p ctrl)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p ctrl)
+ (error 'gfs:disposed-error)))
Modified: trunk/src/uitoolkit/widgets/event-source.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/event-source.lisp (original)
+++ trunk/src/uitoolkit/widgets/event-source.lisp Mon Mar 20 15:48:16 2006
@@ -35,7 +35,7 @@
(defconstant +callback-info+ '((gfw:event-activate . (gfw:event-source integer))
(gfw:event-arm . (gfw:event-source integer))
- (gfw:event-select . (gfw:item integer gfi:rectangle))))
+ (gfw:event-select . (gfw:item integer gfs:rectangle))))
(defun make-specializer-list (disp-class arg-info)
(let ((tmp (mapcar #'find-class arg-info)))
Modified: trunk/src/uitoolkit/widgets/event.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/event.lisp (original)
+++ trunk/src/uitoolkit/widgets/event.lisp Mon Mar 20 15:48:16 2006
@@ -102,8 +102,8 @@
(w (get-widget tc hwnd))
(pnt (mouse-event-pnt tc)))
(when w
- (setf (gfi:point-x pnt) (lo-word lparam))
- (setf (gfi:point-y pnt) (hi-word lparam))
+ (setf (gfs:point-x pnt) (lo-word lparam))
+ (setf (gfs:point-y pnt) (hi-word lparam))
(funcall fn (dispatcher w) w (event-time tc) pnt btn-symbol)))
0)
@@ -150,7 +150,7 @@
(event-select (dispatcher item)
item
(event-time tc)
- (make-instance 'gfi:rectangle))))) ; FIXME
+ (make-instance 'gfs:rectangle))))) ; FIXME
((eq wparam-hi 1)
(format t "accelerator wparam: ~x lparam: ~x~%" wparam lparam))
(t
@@ -161,7 +161,7 @@
(event-select (dispatcher w)
w
(event-time tc)
- (make-instance 'gfi:rectangle)))))) ; FIXME
+ (make-instance 'gfs:rectangle)))))) ; FIXME
(error 'gfs:toolkit-error :detail "no object for hwnd")))
0)
@@ -284,17 +284,17 @@
(w (get-widget tc hwnd))
(gc (make-instance 'gfg:graphics-context)))
(if w
- (let ((rct (make-instance 'gfi:rectangle)))
+ (let ((rct (make-instance 'gfs:rectangle)))
(cffi:with-foreign-object (ps-ptr 'gfs::paintstruct)
(cffi:with-foreign-slots ((gfs::rcpaint-x
gfs::rcpaint-y
gfs::rcpaint-width
gfs::rcpaint-height)
ps-ptr gfs::paintstruct)
- (setf (slot-value gc 'gfi:handle) (gfs::begin-paint hwnd ps-ptr))
- (setf (gfi:location rct) (gfi:make-point :x gfs::rcpaint-x
+ (setf (slot-value gc 'gfs:handle) (gfs::begin-paint hwnd ps-ptr))
+ (setf (gfs:location rct) (gfs:make-point :x gfs::rcpaint-x
:y gfs::rcpaint-y))
- (setf (gfi:size rct) (gfi:make-size :width gfs::rcpaint-width
+ (setf (gfs:size rct) (gfs:make-size :width gfs::rcpaint-width
:height gfs::rcpaint-height))
(unwind-protect
(event-paint (dispatcher w) w (event-time tc) gc rct)
@@ -355,6 +355,6 @@
;;; event-dispatcher methods
;;;
-(defmethod gfi:dispose ((d event-source))
+(defmethod gfs:dispose ((d event-source))
(setf (dispatcher d) nil)
(call-next-method))
Modified: trunk/src/uitoolkit/widgets/flow-layout.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/flow-layout.lisp (original)
+++ trunk/src/uitoolkit/widgets/flow-layout.lisp Mon Mar 20 15:48:16 2006
@@ -48,24 +48,24 @@
(when (or (visible-p kid) (not win-visible))
(if vert-orient
(progn
- (incf total (gfi:size-height size))
- (if (< max (gfi:size-width size))
- (setf max (gfi:size-width size))))
+ (incf total (gfs:size-height size))
+ (if (< max (gfs:size-width size))
+ (setf max (gfs:size-width size))))
(progn
- (incf total (gfi:size-width size))
- (if (< max (gfi:size-height size))
- (setf max (gfi:size-height size))))))))
+ (incf total (gfs:size-width size))
+ (if (< max (gfs:size-height size))
+ (setf max (gfs:size-height size))))))))
(unless (null kids)
(incf total (* (spacing-of layout) (1- (length kids)))))
(if vert-orient
(progn
(incf max (+ (left-margin-of layout) (right-margin-of layout)))
(incf total (+ (top-margin-of layout) (bottom-margin-of layout)))
- (gfi:make-size :width max :height total))
+ (gfs:make-size :width max :height total))
(progn
(incf total (+ (left-margin-of layout) (right-margin-of layout)))
(incf max (+ (top-margin-of layout) (bottom-margin-of layout)))
- (gfi:make-size :width total :height max)))))
+ (gfs:make-size :width total :height max)))))
(defun flow-container-layout (layout visible kids width-hint height-hint)
(let* ((flows nil)
@@ -79,14 +79,14 @@
(wrap-coord (if vert-orient (left-margin-of layout) (top-margin-of layout))))
(loop for kid in kids
do (let ((size (preferred-size kid -1 -1))
- (pnt (gfi:make-point)))
+ (pnt (gfs:make-point)))
(when (or (visible-p kid) (not visible))
(if vert-orient
(progn
(when (and wrap
(>= height-hint 0)
(> (+ next-coord
- (gfi:size-height size)
+ (gfs:size-height size)
(bottom-margin-of layout))
height-hint))
(push (reverse curr-flow) flows)
@@ -94,16 +94,16 @@
(setf next-coord (top-margin-of layout))
(incf wrap-coord (+ max-size spacing))
(setf max-size -1))
- (setf (gfi:point-x pnt) wrap-coord)
- (setf (gfi:point-y pnt) next-coord)
- (if (< max-size (gfi:size-width size))
- (setf max-size (gfi:size-width size)))
- (incf next-coord (+ (gfi:size-height size) spacing)))
+ (setf (gfs:point-x pnt) wrap-coord)
+ (setf (gfs:point-y pnt) next-coord)
+ (if (< max-size (gfs:size-width size))
+ (setf max-size (gfs:size-width size)))
+ (incf next-coord (+ (gfs:size-height size) spacing)))
(progn
(when (and wrap
(>= width-hint 0)
(> (+ next-coord
- (gfi:size-width size)
+ (gfs:size-width size)
(right-margin-of layout))
width-hint))
(push (reverse curr-flow) flows)
@@ -111,12 +111,12 @@
(setf next-coord (left-margin-of layout))
(incf wrap-coord (+ max-size spacing))
(setf max-size -1))
- (setf (gfi:point-x pnt) next-coord)
- (setf (gfi:point-y pnt) wrap-coord)
- (if (< max-size (gfi:size-height size))
- (setf max-size (gfi:size-height size)))
- (incf next-coord (+ (gfi:size-width size) spacing))))
- (push (cons kid (make-instance 'gfi:rectangle :size size :location pnt)) curr-flow))))
+ (setf (gfs:point-x pnt) next-coord)
+ (setf (gfs:point-y pnt) wrap-coord)
+ (if (< max-size (gfs:size-height size))
+ (setf max-size (gfs:size-height size)))
+ (incf next-coord (+ (gfs:size-width size) spacing))))
+ (push (cons kid (make-instance 'gfs:rectangle :size size :location pnt)) curr-flow))))
(unless (null curr-flow)
(push (reverse curr-flow) flows))
(loop for flow in (nreverse flows) append flow)))
Modified: trunk/src/uitoolkit/widgets/item.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/item.lisp (original)
+++ trunk/src/uitoolkit/widgets/item.lisp Mon Mar 20 15:48:16 2006
@@ -38,5 +38,5 @@
(defmethod check :before ((it item) flag)
(declare (ignore flag))
- (if (gfi:null-handle-p (gfi:handle it))
+ (if (gfs:null-handle-p (gfs:handle it))
(error 'gfs:toolkit-error :detail "null owner handle")))
Modified: trunk/src/uitoolkit/widgets/label.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/label.lisp (original)
+++ trunk/src/uitoolkit/widgets/label.lisp Mon Mar 20 15:48:16 2006
@@ -79,17 +79,17 @@
(compute-style-flags label style)
(let ((hwnd (create-window gfs::+static-classname+
" "
- (gfi:handle parent)
+ (gfs:handle parent)
(logior std-style gfs::+ws-child+ gfs::+ws-visible+)
ex-style)))
(if (not hwnd)
(error 'gfs:win32-error :detail "create-window failed"))
- (setf (slot-value label 'gfi:handle) hwnd)))
+ (setf (slot-value label 'gfs:handle) hwnd)))
(init-control label))
(defmethod preferred-size ((label label) width-hint height-hint)
- (let* ((hwnd (gfi:handle label))
+ (let* ((hwnd (gfs:handle label))
(bits (gfs::get-window-long hwnd gfs::+gwl-style+))
(b-width (border-width label))
(sz nil)
@@ -99,11 +99,11 @@
(setf flags (logior flags gfs::+dt-wordbreak+)))
(setf sz (widget-text-size label flags width-hint))
(if (>= width-hint 0)
- (setf (gfi:size-width sz) width-hint))
+ (setf (gfs:size-width sz) width-hint))
(if (>= height-hint 0)
- (setf (gfi:size-height sz) height-hint))
- (incf (gfi:size-width sz) (* b-width 2))
- (incf (gfi:size-height sz) (* b-width 2))
+ (setf (gfs:size-height sz) height-hint))
+ (incf (gfs:size-width sz) (* b-width 2))
+ (incf (gfs:size-height sz) (* b-width 2))
sz))
(defmethod text ((label label))
Modified: trunk/src/uitoolkit/widgets/layout.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/layout.lisp (original)
+++ trunk/src/uitoolkit/widgets/layout.lisp Mon Mar 20 15:48:16 2006
@@ -48,23 +48,23 @@
(setf hdwp (gfs::begin-defer-window-pos (length kids)))
(loop for k in kids
do (let* ((rect (cdr k))
- (sz (gfi:size rect))
- (pnt (gfi:location rect)))
- (if (gfi:null-handle-p hdwp)
- (gfs::set-window-pos (gfi:handle (car k))
+ (sz (gfs:size rect))
+ (pnt (gfs:location rect)))
+ (if (gfs:null-handle-p hdwp)
+ (gfs::set-window-pos (gfs:handle (car k))
(cffi:null-pointer)
- (gfi:point-x pnt)
- (gfi:point-y pnt)
- (gfi:size-width sz)
- (gfi:size-height sz)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
+ (gfs:size-width sz)
+ (gfs:size-height sz)
+window-pos-flags+)
(setf hdwp (gfs::defer-window-pos hdwp
- (gfi:handle (car k))
+ (gfs:handle (car k))
(cffi:null-pointer)
- (gfi:point-x pnt)
- (gfi:point-y pnt)
- (gfi:size-width sz)
- (gfi:size-height sz)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
+ (gfs:size-width sz)
+ (gfs:size-height sz)
+window-pos-flags+)))))
- (unless (gfi:null-handle-p hdwp)
+ (unless (gfs:null-handle-p hdwp)
(gfs::end-defer-window-pos hdwp)))))
Modified: trunk/src/uitoolkit/widgets/menu-item.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/menu-item.lisp (original)
+++ trunk/src/uitoolkit/widgets/menu-item.lisp Mon Mar 20 15:48:16 2006
@@ -185,44 +185,44 @@
;;;
(defmethod check ((it menu-item) flag)
- (let ((hmenu (gfi:handle it)))
+ (let ((hmenu (gfs:handle it)))
(check-menuitem hmenu (item-id it) flag)))
(defmethod checked-p ((it menu-item))
- (let ((hmenu (gfi:handle it)))
- (if (gfi:null-handle-p hmenu)
+ (let ((hmenu (gfs:handle it)))
+ (if (gfs:null-handle-p hmenu)
(error 'gfs:toolkit-error :detail "null owner menu handle"))
(is-menuitem-checked hmenu (item-id it))))
-(defmethod gfi:dispose ((it menu-item))
+(defmethod gfs:dispose ((it menu-item))
(setf (dispatcher it) nil)
(remove-menuitem (thread-context) it)
(let ((id (item-id it))
(owner (item-owner it)))
(unless (null owner)
- (gfs::remove-menu (gfi:handle owner) id gfs::+mf-bycommand+)
+ (gfs::remove-menu (gfs:handle owner) id gfs::+mf-bycommand+)
(let* ((index (item-index owner it))
(child-menu (sub-menu owner index)))
(unless (null child-menu)
- (gfi:dispose child-menu))))
+ (gfs:dispose child-menu))))
(setf (item-id it) 0)
- (setf (slot-value it 'gfi:handle) nil)))
+ (setf (slot-value it 'gfs:handle) nil)))
(defmethod enable ((it menu-item) flag)
(let ((bits 0))
(if flag
(setf bits (logior gfs::+mf-bycommand+ gfs::+mfs-enabled+))
(setf bits (logior gfs::+mf-bycommand+ gfs::+mfs-grayed+)))
- (gfs::enable-menu-item (gfi:handle it) (item-id it) bits)))
+ (gfs::enable-menu-item (gfs:handle it) (item-id it) bits)))
(defmethod enabled-p ((it menu-item))
- (= (logand (get-menuitem-state (gfi:handle it) (item-id it))
+ (= (logand (get-menuitem-state (gfs:handle it) (item-id it))
gfs::+mfs-enabled+)
gfs::+mfs-enabled+))
(defmethod item-owner ((it menu-item))
- (let ((hmenu (gfi:handle it)))
- (if (gfi:null-handle-p hmenu)
+ (let ((hmenu (gfs:handle it)))
+ (if (gfs:null-handle-p hmenu)
(error 'gfs:toolkit-error :detail "null owner menu handle"))
(let ((m (get-widget (thread-context) hmenu)))
(if (null m)
@@ -230,13 +230,13 @@
m)))
(defmethod text ((it menu-item))
- (let ((hmenu (gfi:handle it)))
- (if (gfi:null-handle-p hmenu)
+ (let ((hmenu (gfs:handle it)))
+ (if (gfs:null-handle-p hmenu)
(error 'gfs:toolkit-error :detail "null owner menu handle"))
(get-menuitem-text hmenu (item-id it))))
(defmethod (setf text) (str (it menu-item))
- (let ((hmenu (gfi:handle it)))
- (if (gfi:null-handle-p hmenu)
+ (let ((hmenu (gfs:handle it)))
+ (if (gfs:null-handle-p hmenu)
(error 'gfs:toolkit-error :detail "null owner menu handle"))
(set-menuitem-text hmenu (item-id it) str)))
Modified: trunk/src/uitoolkit/widgets/menu-language.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/menu-language.lisp (original)
+++ trunk/src/uitoolkit/widgets/menu-language.lisp Mon Mar 20 15:48:16 2006
@@ -204,10 +204,10 @@
(defmethod define-separator ((gen win32-menu-generator))
(let* ((owner (first (menu-stack-of gen)))
(it (make-instance 'menu-item))
- (hmenu (gfi:handle owner)))
+ (hmenu (gfs:handle owner)))
(put-menuitem (thread-context) it)
(insert-separator hmenu)
- (setf (slot-value it 'gfi:handle) hmenu)
+ (setf (slot-value it 'gfs:handle) hmenu)
(vector-push-extend it (items owner))))
(defmethod define-submenu ((gen win32-menu-generator) label dispatcher disabled)
Modified: trunk/src/uitoolkit/widgets/menu.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/menu.lisp (original)
+++ trunk/src/uitoolkit/widgets/menu.lisp Mon Mar 20 15:48:16 2006
@@ -111,10 +111,10 @@
(error 'gfs::win32-error :detail "insert-menu-item failed"))))
(defun sub-menu (m index)
- (if (gfi:disposed-p m)
- (error 'gfi:disposed-error))
- (let ((hwnd (gfs::get-submenu (gfi:handle m) index)))
- (if (not (gfi:null-handle-p hwnd))
+ (if (gfs:disposed-p m)
+ (error 'gfs:disposed-error))
+ (let ((hwnd (gfs::get-submenu (gfs:handle m) index)))
+ (if (not (gfs:null-handle-p hwnd))
(get-widget (thread-context) hwnd)
nil)))
@@ -133,7 +133,7 @@
(defmethod append-item ((owner menu) text image disp)
(let* ((tc (thread-context))
(id (increment-menuitem-id tc))
- (hmenu (gfi:handle owner))
+ (hmenu (gfs:handle owner))
(item (create-menuitem-with-callback hmenu disp)))
(insert-menuitem hmenu id text (cffi:null-pointer))
(setf (item-id item) id)
@@ -142,12 +142,12 @@
item))
(defmethod append-submenu ((parent menu) text (submenu menu) disp)
- (if (or (gfi:disposed-p parent) (gfi:disposed-p submenu))
- (error 'gfi:disposed-error))
+ (if (or (gfs:disposed-p parent) (gfs:disposed-p submenu))
+ (error 'gfs:disposed-error))
(let* ((tc (thread-context))
(id (increment-menuitem-id tc))
- (hparent (gfi:handle parent))
- (hmenu (gfi:handle submenu))
+ (hparent (gfs:handle parent))
+ (hmenu (gfs:handle submenu))
(item (make-instance 'menu-item :handle hparent)))
(insert-submenu hparent id text (cffi:null-pointer) hmenu)
(setf (item-id item) id)
@@ -168,14 +168,14 @@
(defun menu-cleanup-callback (menu item)
(let ((tc (thread-context)))
- (remove-widget tc (gfi:handle menu))
+ (remove-widget tc (gfs:handle menu))
(remove-menuitem tc item)))
-(defmethod gfi:dispose ((m menu))
+(defmethod gfs:dispose ((m menu))
(visit-menu-tree m #'menu-cleanup-callback)
- (let ((hwnd (gfi:handle m)))
+ (let ((hwnd (gfs:handle m)))
(remove-widget (thread-context) hwnd)
- (if (not (gfi:null-handle-p hwnd))
+ (if (not (gfs:null-handle-p hwnd))
(if (zerop (gfs::destroy-menu hwnd))
(error 'gfs:win32-error :detail "destroy-menu failed"))))
- (setf (slot-value m 'gfi:handle) nil))
+ (setf (slot-value m 'gfs:handle) nil))
Modified: trunk/src/uitoolkit/widgets/panel.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/panel.lisp (original)
+++ trunk/src/uitoolkit/widgets/panel.lisp Mon Mar 20 15:48:16 2006
@@ -64,8 +64,8 @@
(defmethod initialize-instance :after ((win panel) &key parent style &allow-other-keys)
(if (null parent)
(error 'gfs:toolkit-error :detail "parent is required for panel"))
- (if (gfi:disposed-p parent)
- (error 'gfi:disposed-error))
+ (if (gfs:disposed-p parent)
+ (error 'gfs:disposed-error))
(if (not (listp style))
(setf style (list style)))
(init-window win +panel-window-classname+ #'register-panel-window-class style parent ""))
Modified: trunk/src/uitoolkit/widgets/thread-context.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/thread-context.lisp (original)
+++ trunk/src/uitoolkit/widgets/thread-context.lisp Mon Mar 20 15:48:16 2006
@@ -41,10 +41,10 @@
(event-time :initform 0 :accessor event-time)
(virtual-key :initform 0 :accessor virtual-key)
(menuitems-by-id :initform (make-hash-table :test #'equal))
- (mouse-event-pnt :initform (gfi:make-point) :accessor mouse-event-pnt)
- (move-event-pnt :initform (gfi:make-point) :accessor move-event-pnt)
+ (mouse-event-pnt :initform (gfs:make-point) :accessor mouse-event-pnt)
+ (move-event-pnt :initform (gfs:make-point) :accessor move-event-pnt)
(next-menuitem-id :initform 10000 :reader next-menuitem-id)
- (size-event-size :initform (gfi:make-size) :accessor size-event-size)
+ (size-event-size :initform (gfs:make-size) :accessor size-event-size)
(widgets-by-hwnd :initform (make-hash-table :test #'equal))
(wip :initform nil))
(:documentation "Thread context objects maintain 'global' data for each thread possessing an event loop."))
@@ -91,14 +91,14 @@
"Return the widget object corresponding to the specified native window handle."
(let ((tmp-widget (slot-value tc 'wip)))
(when tmp-widget
- (setf (slot-value tmp-widget 'gfi:handle) hwnd)
+ (setf (slot-value tmp-widget 'gfs:handle) hwnd)
(return-from get-widget tmp-widget)))
- (unless (gfi:null-handle-p hwnd)
+ (unless (gfs:null-handle-p hwnd)
(gethash (cffi:pointer-address hwnd) (slot-value tc 'widgets-by-hwnd))))
(defmethod put-widget ((tc thread-context) (w widget))
"Add the specified widget to the widget table using its native handle as the key."
- (setf (gethash (cffi:pointer-address (gfi:handle w)) (slot-value tc 'widgets-by-hwnd)) w))
+ (setf (gethash (cffi:pointer-address (gfs:handle w)) (slot-value tc 'widgets-by-hwnd)) w))
(defmethod remove-widget ((tc thread-context) hwnd)
"Remove the widget object corresponding to the specified native window handle."
Modified: trunk/src/uitoolkit/widgets/top-level.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/top-level.lisp (original)
+++ trunk/src/uitoolkit/widgets/top-level.lisp Mon Mar 20 15:48:16 2006
@@ -110,17 +110,17 @@
(flatten style))
(values std-flags ex-flags)))
-(defmethod gfi:dispose ((win top-level))
+(defmethod gfs:dispose ((win top-level))
(let ((m (menu-bar win)))
(unless (null m)
(visit-menu-tree m #'menu-cleanup-callback)
- (remove-widget (thread-context) (gfi:handle m))))
+ (remove-widget (thread-context) (gfs:handle m))))
(call-next-method))
(defmethod initialize-instance :after ((win top-level) &key owner style title &allow-other-keys)
(unless (null owner)
- (if (gfi:disposed-p owner)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p owner)
+ (error 'gfs:disposed-error)))
(if (null title)
(setf title +default-window-title+))
(if (not (listp style))
@@ -128,12 +128,12 @@
(init-window win +toplevel-window-classname+ #'register-toplevel-window-class style owner title))
(defmethod menu-bar :before ((win top-level))
- (if (gfi:disposed-p win)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p win)
+ (error 'gfs:disposed-error)))
(defmethod menu-bar ((win top-level))
- (let ((hmenu (gfs::get-menu (gfi:handle win))))
- (if (gfi:null-handle-p hmenu)
+ (let ((hmenu (gfs::get-menu (gfs:handle win))))
+ (if (gfs:null-handle-p hmenu)
(return-from menu-bar nil))
(let ((m (get-widget (thread-context) hmenu)))
(if (null m)
@@ -142,31 +142,31 @@
(defmethod (setf menu-bar) :before ((m menu) (win top-level))
(declare (ignore m))
- (if (gfi:disposed-p win)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p win)
+ (error 'gfs:disposed-error)))
(defmethod (setf menu-bar) ((m menu) (win top-level))
- (let* ((hwnd (gfi:handle win))
+ (let* ((hwnd (gfs:handle win))
(hmenu (gfs::get-menu hwnd))
(old-menu (get-widget (thread-context) hmenu)))
- (unless (gfi:null-handle-p hmenu)
+ (unless (gfs:null-handle-p hmenu)
(gfs::destroy-menu hmenu))
(unless (null old-menu)
- (gfi:dispose old-menu))
- (gfs::set-menu hwnd (gfi:handle m))
+ (gfs:dispose old-menu))
+ (gfs::set-menu hwnd (gfs:handle m))
(gfs::draw-menu-bar hwnd)))
(defmethod text :before ((win top-level))
- (if (gfi:disposed-p win)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p win)
+ (error 'gfs:disposed-error)))
(defmethod text ((win top-level))
(get-widget-text win))
(defmethod (setf text) :before (str (win top-level))
(declare (ignore str))
- (if (gfi:disposed-p win)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p win)
+ (error 'gfs:disposed-error)))
(defmethod (setf text) (str (win top-level))
(set-widget-text win str))
Modified: trunk/src/uitoolkit/widgets/widget-classes.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/widget-classes.lisp (original)
+++ trunk/src/uitoolkit/widgets/widget-classes.lisp Mon Mar 20 15:48:16 2006
@@ -36,7 +36,7 @@
(defclass event-dispatcher () ()
(:documentation "Instances of this class receive events on behalf of user interface objects."))
-(defclass event-source (gfi:native-object)
+(defclass event-source (gfs:native-object)
((dispatcher
:accessor dispatcher
:initarg :dispatcher
Modified: trunk/src/uitoolkit/widgets/widget-utils.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/widget-utils.lisp (original)
+++ trunk/src/uitoolkit/widgets/widget-utils.lisp Mon Mar 20 15:48:16 2006
@@ -57,7 +57,7 @@
(defun clear-all (w)
(let ((count (gfw:item-count w)))
(unless (zerop count)
- (gfw:clear-span w (gfi:make-span :start 0 :end (1- count))))))
+ (gfw:clear-span w (gfs:make-span :start 0 :end (1- count))))))
(defun create-window (class-name title parent-hwnd std-style ex-style)
(cffi:with-foreign-string (cname-ptr class-name)
@@ -84,10 +84,10 @@
(mapcan (function flatten) tree)))
(defun get-widget-text (w)
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error))
(let* ((text "")
- (hwnd (gfi:handle w))
+ (hwnd (gfs:handle w))
(len (gfs::get-window-text-length hwnd)))
(unless (zerop len)
(incf len)
@@ -105,10 +105,10 @@
gfs::windowtop)
wi-ptr gfs::windowinfo)
(setf gfs::cbsize (cffi::foreign-type-size 'gfs::windowinfo))
- (when (zerop (gfs::get-window-info (gfi:handle w) wi-ptr))
+ (when (zerop (gfs::get-window-info (gfs:handle w) wi-ptr))
(error 'gfs:win32-error :detail "get-window-info failed"))
- (setf (gfi:point-x pnt) gfs::windowleft)
- (setf (gfi:point-y pnt) gfs::windowtop))))
+ (setf (gfs:point-x pnt) gfs::windowleft)
+ (setf (gfs:point-y pnt) gfs::windowtop))))
(defun outer-size (w sz)
(cffi:with-foreign-object (wi-ptr 'gfs::windowinfo)
@@ -119,26 +119,26 @@
gfs::windowbottom)
wi-ptr gfs::windowinfo)
(setf gfs::cbsize (cffi::foreign-type-size 'gfs::windowinfo))
- (when (zerop (gfs::get-window-info (gfi:handle w) wi-ptr))
+ (when (zerop (gfs::get-window-info (gfs:handle w) wi-ptr))
(error 'gfs:win32-error :detail "get-window-info failed"))
- (setf (gfi:size-width sz) (- gfs::windowright gfs::windowleft))
- (setf (gfi:size-height sz) (- gfs::windowbottom gfs::windowtop)))))
+ (setf (gfs:size-width sz) (- gfs::windowright gfs::windowleft))
+ (setf (gfs:size-height sz) (- gfs::windowbottom gfs::windowtop)))))
(defun set-widget-text (w str)
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error))
- (gfs::set-window-text (gfi:handle w) str))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error))
+ (gfs::set-window-text (gfs:handle w) str))
(defun widget-text-size (widget dt-flags width-hint)
- (let* ((hwnd (gfi:handle widget))
+ (let* ((hwnd (gfs:handle widget))
(str (text widget))
(len (length str))
- (sz (gfi:make-size))
+ (sz (gfs:make-size))
(hfont nil))
(setf dt-flags (logior dt-flags gfs::+dt-calcrect+))
- (gfs:with-retrieved-dc (hwnd hdc)
+ (gfs::with-retrieved-dc (hwnd hdc)
(setf hfont (cffi:make-pointer (gfs::send-message hwnd gfs::+wm-getfont+ 0 0)))
- (gfs:with-hfont-selected (hdc hfont)
+ (gfs::with-hfont-selected (hdc hfont)
(when (> len 0)
(cffi:with-foreign-object (rect-ptr 'gfs::rect)
(cffi:with-foreign-slots ((gfs::left gfs::right gfs::top gfs::bottom)
@@ -146,13 +146,13 @@
(if (> width-hint 0)
(setf gfs::right width-hint))
(gfs::draw-text hdc str -1 rect-ptr dt-flags (cffi:null-pointer))
- (setf (gfi:size-width sz) (- gfs::right gfs::left))
- (setf (gfi:size-height sz) (- gfs::bottom gfs::top)))))
- (when (or (zerop len) (zerop (gfi:size-height sz)))
+ (setf (gfs:size-width sz) (- gfs::right gfs::left))
+ (setf (gfs:size-height sz) (- gfs::bottom gfs::top)))))
+ (when (or (zerop len) (zerop (gfs:size-height sz)))
(cffi:with-foreign-object (tm-ptr 'gfs::textmetrics)
(cffi:with-foreign-slots ((gfs::tmheight gfs::tmexternalleading)
tm-ptr gfs::textmetrics)
(if (zerop (gfs::get-text-metrics hdc tm-ptr))
(error 'gfs:win32-error :detail "get-text-metrics failed"))
- (setf (gfi:size-height sz) (+ gfs::tmheight gfs::tmexternalleading)))))))
+ (setf (gfs:size-height sz) (+ gfs::tmheight gfs::tmexternalleading)))))))
sz))
Modified: trunk/src/uitoolkit/widgets/widget-with-items.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/widget-with-items.lisp (original)
+++ trunk/src/uitoolkit/widgets/widget-with-items.lisp Mon Mar 20 15:48:16 2006
@@ -35,57 +35,57 @@
(defmethod append-item :before ((w widget-with-items) text (image gfg:image) (disp event-dispatcher))
(declare (ignore text image disp))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod clear-item :before ((w widget-with-items) index)
(declare (ignore index))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod clear-item ((w widget-with-items) index)
(let ((it (item-at w index)))
(delete it (items w) :test #'items-equal-p)
- (if (gfi:disposed-p it)
- (error 'gfi:disposed-error))
- (gfi:dispose it)))
+ (if (gfs:disposed-p it)
+ (error 'gfs:disposed-error))
+ (gfs:dispose it)))
-(defmethod clear-span :before ((w widget-with-items) (sp gfi:span))
+(defmethod clear-span :before ((w widget-with-items) (sp gfs:span))
(declare (ignore sp))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
-(defmethod clear-span ((w widget-with-items) (sp gfi:span))
- (dotimes (i (1+ (- (gfi:span-end sp) (gfi:span-start sp))))
- (clear-item w (gfi:span-start sp))))
+(defmethod clear-span ((w widget-with-items) (sp gfs:span))
+ (dotimes (i (1+ (- (gfs:span-end sp) (gfs:span-start sp))))
+ (clear-item w (gfs:span-start sp))))
(defmethod item-at :before ((w widget-with-items) index)
(declare (ignore index))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod item-at ((w widget-with-items) index)
(elt (items w) index))
(defmethod (setf item-at) :before (index (it item) (w widget-with-items))
(declare (ignorable index it))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod (setf item-at) (index (it item) (w widget-with-items))
(error 'gfs:toolkit-error :detail "not yet implemented"))
(defmethod item-count :before ((w widget-with-items))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod item-count ((w widget-with-items))
(length (items w)))
(defmethod item-index :before ((w widget-with-items) (it item))
(declare (ignore it))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod item-index ((w widget-with-items) (it item))
(let ((pos (position it (items w) :test #'items-equal-p)))
Modified: trunk/src/uitoolkit/widgets/widget.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/widget.lisp (original)
+++ trunk/src/uitoolkit/widgets/widget.lisp Mon Mar 20 15:48:16 2006
@@ -42,24 +42,24 @@
;;;
(defmethod ancestor-p :before ((ancestor widget) (descendant widget))
- (if (or (gfi:disposed-p ancestor) (gfi:disposed-p descendant))
- (error 'gfi:disposed-error)))
+ (if (or (gfs:disposed-p ancestor) (gfs:disposed-p descendant))
+ (error 'gfs:disposed-error)))
(defmethod ancestor-p ((ancestor widget) (descendant widget))
- (let* ((parent-hwnd (gfs::get-ancestor (gfi:handle descendant) gfs::+ga-parent+))
+ (let* ((parent-hwnd (gfs::get-ancestor (gfs:handle descendant) gfs::+ga-parent+))
(parent (get-widget (thread-context) parent-hwnd)))
- (if (cffi:pointer-eq (gfi:handle ancestor) parent-hwnd)
+ (if (cffi:pointer-eq (gfs:handle ancestor) parent-hwnd)
(return-from ancestor-p t))
(if (null parent)
(error 'gfs:toolkit-error :detail "no widget for parent handle"))
(ancestor-p ancestor parent)))
(defmethod border-width :before ((widget widget))
- (if (gfi:disposed-p widget)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p widget)
+ (error 'gfs:disposed-error)))
(defmethod border-width ((widget widget))
- (let* ((hwnd (gfi:handle widget))
+ (let* ((hwnd (gfs:handle widget))
(bits (gfs::get-window-long hwnd gfs::+gwl-exstyle+)))
(when (logand bits gfs::+ws-ex-clientedge+)
(return-from border-width (gfs::get-system-metrics gfs::+sm-cxedge+)))
@@ -71,16 +71,16 @@
0))
(defmethod checked-p :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod checked-p ((w widget))
(declare (ignore w))
nil)
(defmethod client-size :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod client-size ((w widget))
(cffi:with-foreign-object (wi-ptr 'gfs::windowinfo)
@@ -91,38 +91,38 @@
gfs::clientbottom)
wi-ptr gfs::windowinfo)
(setf gfs::cbsize (cffi::foreign-type-size 'gfs::windowinfo))
- (when (zerop (gfs::get-window-info (gfi:handle w) wi-ptr))
+ (when (zerop (gfs::get-window-info (gfs:handle w) wi-ptr))
(error 'gfs:win32-error :detail "get-window-info failed"))
- (gfi:make-size :width (- gfs::clientright gfs::clientleft)
+ (gfs:make-size :width (- gfs::clientright gfs::clientleft)
:height (- gfs::clientbottom gfs::clienttop)))))
-(defmethod gfi:dispose ((w widget))
+(defmethod gfs:dispose ((w widget))
(unless (null (dispatcher w))
(event-dispose (dispatcher w) w 0))
- (let ((hwnd (gfi:handle w)))
- (if (not (gfi:null-handle-p hwnd))
+ (let ((hwnd (gfs:handle w)))
+ (if (not (gfs:null-handle-p hwnd))
(if (zerop (gfs::destroy-window hwnd))
(error 'gfs:win32-error :detail "destroy-window failed"))))
- (setf (slot-value w 'gfi:handle) nil))
+ (setf (slot-value w 'gfs:handle) nil))
(defmethod enable :before ((w widget) flag)
(declare (ignore flag))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod enable ((w widget) flag)
- (gfs::enable-window (gfi:handle w) (if (null flag) 0 1)))
+ (gfs::enable-window (gfs:handle w) (if (null flag) 0 1)))
(defmethod enabled-p :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod enabled-p ((w widget))
- (not (zerop (gfs::is-window-enabled (gfi:handle w)))))
+ (not (zerop (gfs::is-window-enabled (gfs:handle w)))))
(defmethod location :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod location ((w widget))
(cffi:with-foreign-object (wi-ptr 'gfs::windowinfo)
@@ -131,98 +131,98 @@
gfs::clienttop)
wi-ptr gfs::windowinfo)
(setf gfs::cbsize (cffi::foreign-type-size 'gfs::windowinfo))
- (when (zerop (gfs::get-window-info (gfi:handle w) wi-ptr))
+ (when (zerop (gfs::get-window-info (gfs:handle w) wi-ptr))
(error 'gfs:win32-error :detail "get-window-info failed"))
(cffi:with-foreign-object (pnt-ptr 'gfs::point)
(cffi:with-foreign-slots ((gfs::x gfs::y)
pnt-ptr gfs::point)
(setf gfs::x gfs::clientleft)
(setf gfs::y gfs::clienttop)
- (gfs::screen-to-client (gfi:handle w) pnt-ptr)
- (gfi:make-point :x gfs::x :y gfs::y))))))
+ (gfs::screen-to-client (gfs:handle w) pnt-ptr)
+ (gfs:make-point :x gfs::x :y gfs::y))))))
-(defmethod (setf location) :before ((pnt gfi:point) (w widget))
+(defmethod (setf location) :before ((pnt gfs:point) (w widget))
(declare (ignore pnt))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
-(defmethod (setf location) ((pnt gfi:point) (w widget))
- (if (zerop (gfs::set-window-pos (gfi:handle w)
+(defmethod (setf location) ((pnt gfs:point) (w widget))
+ (if (zerop (gfs::set-window-pos (gfs:handle w)
(cffi:null-pointer)
- (gfi:point-x pnt)
- (gfi:point-y pnt)
+ (gfs:point-x pnt)
+ (gfs:point-y pnt)
0 0
gfs::+swp-nosize+))
(error 'gfs:win32-error :detail "set-window-pos failed")))
(defmethod pack :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod pack ((w widget))
(setf (size w) (preferred-size w -1 -1)))
(defmethod redraw :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod redraw ((w widget))
- (let ((hwnd (gfi:handle w)))
- (unless (gfi:null-handle-p hwnd)
+ (let ((hwnd (gfs:handle w)))
+ (unless (gfs:null-handle-p hwnd)
(gfs::invalidate-rect hwnd nil 1))))
(defmethod selected-p :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod selected-p ((w widget))
(declare (ignore w))
nil)
(defmethod size :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod size ((w widget))
(client-size w))
-(defmethod (setf size) :before ((sz gfi:size) (w widget))
+(defmethod (setf size) :before ((sz gfs:size) (w widget))
(declare (ignore sz))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
-(defmethod (setf size) ((sz gfi:size) (w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error))
- (if (zerop (gfs::set-window-pos (gfi:handle w)
+(defmethod (setf size) ((sz gfs:size) (w widget))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error))
+ (if (zerop (gfs::set-window-pos (gfs:handle w)
(cffi:null-pointer)
0 0
- (gfi:size-width sz)
- (gfi:size-height sz)
+ (gfs:size-width sz)
+ (gfs:size-height sz)
gfs::+swp-nomove+))
(error 'gfs:win32-error :detail "set-window-pos failed")))
(defmethod show :before ((w widget) flag)
(declare (ignore flag))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod show ((w widget) flag)
- (gfs::show-window (gfi:handle w)
+ (gfs::show-window (gfs:handle w)
(if flag gfs::+sw-showna+ gfs::+sw-hide+)))
(defmethod update :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod update ((w widget))
- (let ((hwnd (gfi:handle w)))
- (unless (gfi:null-handle-p hwnd)
+ (let ((hwnd (gfs:handle w)))
+ (unless (gfs:null-handle-p hwnd)
(gfs::update-window hwnd))))
(defmethod visible-p :before ((w widget))
- (if (gfi:disposed-p w)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p w)
+ (error 'gfs:disposed-error)))
(defmethod visible-p ((w widget))
- (not (zerop (gfs::is-window-visible (gfi:handle w)))))
+ (not (zerop (gfs::is-window-visible (gfs:handle w)))))
Modified: trunk/src/uitoolkit/widgets/window.lisp
==============================================================================
--- trunk/src/uitoolkit/widgets/window.lisp (original)
+++ trunk/src/uitoolkit/widgets/window.lisp Mon Mar 20 15:48:16 2006
@@ -45,11 +45,11 @@
(compute-style-flags win style)
(create-window classname
text
- (if (null parent) (cffi:null-pointer) (gfi:handle parent))
+ (if (null parent) (cffi:null-pointer) (gfs:handle parent))
std-style
ex-style))
(clear-widget-in-progress tc)
- (let ((hwnd (gfi:handle win)))
+ (let ((hwnd (gfs:handle win)))
(if (not hwnd) ; handle slot should have been set during create-window
(error 'gfs:win32-error :detail "create-window failed"))
(put-widget tc win))))
@@ -84,17 +84,17 @@
(let ((tc (thread-context)))
(push-child-visitor-func tc func)
(unwind-protect
-#+lispworks (gfs::enum-child-windows (fli:make-pointer :address (cffi:pointer-address (gfi:handle win)))
+#+lispworks (gfs::enum-child-windows (fli:make-pointer :address (cffi:pointer-address (gfs:handle win)))
(fli:make-pointer :symbol-name "child_window_visitor")
- (cffi:pointer-address (gfi:handle win)))
+ (cffi:pointer-address (gfs:handle win)))
#+clisp (let ((ptr (ffi:foreign-pointer (ffi:unsigned-foreign-address 0))))
(setf ptr (ffi:set-foreign-pointer
(ffi:unsigned-foreign-address
- (cffi:pointer-address (gfi:handle win)))
+ (cffi:pointer-address (gfs:handle win)))
ptr))
(gfs::enum-child-windows ptr
#'child_window_visitor
- (cffi:pointer-address (gfi:handle win))))
+ (cffi:pointer-address (gfs:handle win))))
(pop-child-visitor-func tc)))
nil)
@@ -152,40 +152,40 @@
;;
(let ((client-sz (client-size win))
(outer-sz (size win))
- (trim-sz (gfi:make-size :width (gfi:size-width desired-client-size)
- :height (gfi:size-height desired-client-size))))
- (incf (gfi:size-width trim-sz) (- (gfi:size-width outer-sz)
- (gfi:size-width client-sz)))
- (incf (gfi:size-height trim-sz) (- (gfi:size-height outer-sz)
- (gfi:size-height client-sz)))
+ (trim-sz (gfs:make-size :width (gfs:size-width desired-client-size)
+ :height (gfs:size-height desired-client-size))))
+ (incf (gfs:size-width trim-sz) (- (gfs:size-width outer-sz)
+ (gfs:size-width client-sz)))
+ (incf (gfs:size-height trim-sz) (- (gfs:size-height outer-sz)
+ (gfs:size-height client-sz)))
trim-sz))
(defmethod enable-layout :before ((win window) flag)
(declare (ignore flag))
- (if (gfi:disposed-p win)
- (error 'gfi:disposed-error)))
+ (if (gfs:disposed-p win)
+ (error 'gfs:disposed-error)))
(defmethod enable-layout ((win window) flag)
(setf (slot-value win 'layout-p) flag)
(if flag
(let ((sz (client-size win)))
- (perform-layout win (gfi:size-width sz) (gfi:size-height sz)))))
+ (perform-layout win (gfs:size-width sz) (gfs:size-height sz)))))
(defmethod event-resize ((d event-dispatcher) (win window) time size type)
(declare (ignorable d time size type))
(let ((sz (client-size win)))
- (perform-layout win (gfi:size-width sz) (gfi:size-height sz))))
+ (perform-layout win (gfs:size-width sz) (gfs:size-height sz))))
(defmethod location ((win window))
- (if (gfi:disposed-p win)
- (error 'gfi:disposed-error))
- (let ((pnt (gfi:make-point)))
+ (if (gfs:disposed-p win)
+ (error 'gfs:disposed-error))
+ (let ((pnt (gfs:make-point)))
(outer-location win pnt)
pnt))
(defmethod layout ((win window))
(let ((sz (client-size win)))
- (perform-layout win (gfi:size-width sz) (gfi:size-height sz))))
+ (perform-layout win (gfs:size-width sz) (gfs:size-height sz))))
(defmethod pack ((win window))
(perform-layout win -1 -1)
@@ -201,9 +201,9 @@
(defmethod show ((win window) flag)
(declare (ignore flag))
(call-next-method)
- (gfs::update-window (gfi:handle win)))
+ (gfs::update-window (gfs:handle win)))
(defmethod size ((win window))
- (let ((sz (gfi:make-size)))
+ (let ((sz (gfs:make-size)))
(outer-size win sz)
sz))