Changeset 642
- Timestamp:
- Mar 8, 2004, 5:56:23 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/examples/cocoa-window.lisp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/examples/cocoa-window.lisp
r613 r642 355 355 dict)) 356 356 357 358 (defun get-cocoa-window-flag (w flagname) 359 (case flagname 360 (:accepts-mouse-moved-events 361 (send w 'accepts-mouse-moved-events)) 362 (:cursor-rects-enabled 363 (send w 'are-cursor-rects-enabled)) 364 (:auto-display 365 (send w 'is-autodisplay)))) 366 367 368 369 (defun (setf get-cocoa-window-flag) (value w flagname) 370 (case flagname 371 (:accepts-mouse-moved-events 372 (send w :set-accepts-mouse-moved-events value)) 373 (:auto-display 374 (send w :set-autodisplay value)))) 375 376 377 378 (defun activate-window (w) 379 ;; Make w the "key" and frontmost window. Make it visible, if need be. 380 (send w :make-key-and-order-front nil)) 381 382 (defun new-cocoa-window (&key 383 (class (find-class 'ns:ns-window)) 384 (title nil) 385 (x 200.0) 386 (y 200.0) 387 (height 200.0) 388 (width 500.0) 389 (closable t) 390 (iconifyable t) 391 (metal t) 392 (expandable t) 393 (backing :buffered) 394 (defer nil) 395 (accepts-mouse-moved-events nil) 396 (auto-display t) 397 (activate t)) 398 (rlet ((frame :<NSR>ect :origin.x (float x) :origin.y (float y) :size.width (float width) :size.height (float height))) 399 (let* ((stylemask 400 (logior #$NSTitledWindowMask 401 (if closable #$NSClosableWindowMask 0) 402 (if iconifyable #$NSMiniaturizableWindowMask 0) 403 (if expandable #$NSResizableWindowMask 0) 404 (if metal #$NSTexturedBackgroundWindowMask 0))) 405 (backing-type 406 (ecase backing 407 ((t :retained) #$NSBackingStoreRetained) 408 ((nil :nonretained) #$NSBackingStoreNonretained) 409 (:buffered #$NSBackingStoreBuffered))) 410 (w (make-instance 411 class 412 :with-content-rect frame 413 :style-mask stylemask 414 :backing backing-type 415 :defer defer))) 416 (setf (get-cocoa-window-flag w :accepts-mouse-moved-events) 417 accepts-mouse-moved-events 418 (get-cocoa-window-flag w :auto-display) 419 auto-display) 420 (when activate (activate-window w)) 421 (when title (send w :set-title (%make-nsstring title))) 422 w)))
Note:
See TracChangeset
for help on using the changeset viewer.
