From ff3c5b28bdc5e1206cc4a16c9a036e66a08b56b0 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 16:35:47 -0500 Subject: [PATCH 1/8] Move normalize-scanline-order implementation from images.bitmap to images Add upside-down? slot to image tuple Update cap for recent changes --- basis/images/bitmap/bitmap.factor | 6 +----- basis/images/images.factor | 15 ++++++++++----- basis/images/tiff/tiff.factor | 2 +- extra/cap/cap.factor | 27 ++++++++++++++------------- 4 files changed, 26 insertions(+), 24 deletions(-) diff --git a/basis/images/bitmap/bitmap.factor b/basis/images/bitmap/bitmap.factor index 88eb984488..cf16df7d82 100755 --- a/basis/images/bitmap/bitmap.factor +++ b/basis/images/bitmap/bitmap.factor @@ -108,11 +108,6 @@ M: bitmap-image load-image* ( path bitmap -- bitmap ) load-bitmap-data process-bitmap-data fill-image-slots ; -M: bitmap-image normalize-scan-line-order - dup dim>> '[ - _ first 4 * <sliced-groups> reverse concat - ] change-bitmap ; - MACRO: (nbits>bitmap) ( bits -- ) [ -3 shift ] keep '[ bitmap-image new @@ -121,6 +116,7 @@ MACRO: (nbits>bitmap) ( bits -- ) swap >>width swap array-copy [ >>bitmap ] [ >>color-index ] bi _ >>bit-count fill-image-slots + t >>upside-down? ] ; : bgr>bitmap ( array height width -- bitmap ) diff --git a/basis/images/images.factor b/basis/images/images.factor index 82576774f4..cb44825e62 100644 --- a/basis/images/images.factor +++ b/basis/images/images.factor @@ -27,7 +27,7 @@ R16G16B16 R32G32B32 R16G16B16A16 R32G32B32A32 ; { R32G32B32A32 [ 16 ] } } case ; -TUPLE: image dim component-order bitmap ; +TUPLE: image dim component-order upside-down? bitmap ; : <image> ( -- image ) image new ; inline @@ -82,11 +82,16 @@ M: ARGB normalize-component-order* M: ABGR normalize-component-order* drop ARGB>RGBA 4 BGR>RGB ; -GENERIC: normalize-scan-line-order ( image -- image ) - -M: image normalize-scan-line-order ; +: normalize-scan-line-order ( image -- image ) + dup upside-down?>> [ + dup dim>> first 4 * '[ + _ <groups> reverse concat + ] change-bitmap + f >>upside-down? + ] when ; : normalize-image ( image -- image ) [ >byte-array ] change-bitmap normalize-component-order - normalize-scan-line-order ; + normalize-scan-line-order + RGBA >>component-order ; diff --git a/basis/images/tiff/tiff.factor b/basis/images/tiff/tiff.factor index a50ac0cad9..2ea1b08e20 100755 --- a/basis/images/tiff/tiff.factor +++ b/basis/images/tiff/tiff.factor @@ -503,7 +503,7 @@ ERROR: unknown-component-order ifd ; : ifd>image ( ifd -- image ) { [ [ image-width find-tag ] [ image-length find-tag ] bi 2array ] - [ ifd-component-order ] + [ ifd-component-order f ] [ bitmap>> ] } cleave tiff-image boa ; diff --git a/extra/cap/cap.factor b/extra/cap/cap.factor index 1f62441028..64696759bb 100644 --- a/extra/cap/cap.factor +++ b/extra/cap/cap.factor @@ -1,30 +1,31 @@ ! Copyright (C) 2008 Doug Coleman, Joe Groff. ! See http://factorcode.org/license.txt for BSD license. USING: accessors arrays byte-arrays kernel math namespaces -opengl.gl sequences math.vectors ui images.bitmap images.viewer +opengl.gl sequences math.vectors ui images images.viewer models ui.gadgets.worlds ui.gadgets fry alien.syntax ; IN: cap : screenshot-array ( world -- byte-array ) - dim>> [ first 3 * 4 align ] [ second ] bi * <byte-array> ; + dim>> [ first 4 * ] [ second ] bi * <byte-array> ; : gl-screenshot ( gadget -- byte-array ) [ - GL_BACK glReadBuffer - GL_PACK_ALIGNMENT 4 glPixelStorei - 0 0 - ] dip - [ dim>> first2 GL_BGR GL_UNSIGNED_BYTE ] + [ + GL_BACK glReadBuffer + GL_PACK_ALIGNMENT 4 glPixelStorei + 0 0 + ] dip + dim>> first2 GL_RGBA GL_UNSIGNED_BYTE + ] [ screenshot-array ] bi [ glReadPixels ] keep ; : screenshot ( window -- bitmap ) - [ gl-screenshot ] - [ dim>> first2 ] bi - bgr>bitmap ; - -: save-screenshot ( window path -- ) - [ screenshot ] dip save-bitmap ; + [ <image> ] dip + [ gl-screenshot >>bitmap ] [ dim>> >>dim ] bi + RGBA >>component-order + t >>upside-down? + normalize-image ; : screenshot. ( window -- ) [ screenshot <image-gadget> ] [ title>> ] bi open-window ; From 2f26d5f3dafff63264d052bf4c8ca873feac4a46 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 16:58:35 -0500 Subject: [PATCH 2/8] images.viewer can now display some un-normalized images --- basis/opengl/textures/textures.factor | 6 ++++-- extra/images/viewer/viewer.factor | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/basis/opengl/textures/textures.factor b/basis/opengl/textures/textures.factor index 79af9be48b..48cdafb837 100644 --- a/basis/opengl/textures/textures.factor +++ b/basis/opengl/textures/textures.factor @@ -11,14 +11,16 @@ IN: opengl.textures TUPLE: texture loc dim texture-coords texture display-list disposed ; -<PRIVATE - GENERIC: component-order>format ( component-order -- format type ) +M: RGB component-order>format drop GL_RGB GL_UNSIGNED_BYTE ; +M: BGR component-order>format drop GL_BGR GL_UNSIGNED_BYTE ; M: RGBA component-order>format drop GL_RGBA GL_UNSIGNED_BYTE ; M: ARGB component-order>format drop GL_BGRA_EXT GL_UNSIGNED_INT_8_8_8_8_REV ; M: BGRA component-order>format drop GL_BGRA_EXT GL_UNSIGNED_BYTE ; +<PRIVATE + : repeat-last ( seq n -- seq' ) over peek pad-tail concat ; diff --git a/extra/images/viewer/viewer.factor b/extra/images/viewer/viewer.factor index b920b60430..4eaa984953 100644 --- a/extra/images/viewer/viewer.factor +++ b/extra/images/viewer/viewer.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2007 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors images images.loader io.pathnames kernel -namespaces opengl opengl.gl sequences strings ui ui.gadgets +USING: accessors images images.loader io.pathnames kernel namespaces +opengl opengl.gl opengl.textures sequences strings ui ui.gadgets ui.gadgets.panes ui.render ; IN: images.viewer @@ -12,8 +12,8 @@ M: image-gadget pref-dim* : draw-image ( image -- ) 0 0 glRasterPos2i 1.0 -1.0 glPixelZoom - [ dim>> first2 GL_RGBA GL_UNSIGNED_BYTE ] - [ bitmap>> ] bi glDrawPixels ; + [ dim>> first2 ] [ component-order>> component-order>format ] [ bitmap>> ] tri + glDrawPixels ; M: image-gadget draw-gadget* ( gadget -- ) image>> draw-image ; From ceafe8c69efe147123717f7329e29f50c0f2692a Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 16:59:15 -0500 Subject: [PATCH 3/8] Fix text rendering on top of transparent background --- basis/ui/pens/gradient/gradient.factor | 4 +++- basis/ui/pens/solid/solid.factor | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/basis/ui/pens/gradient/gradient.factor b/basis/ui/pens/gradient/gradient.factor index a137ae022b..485015b898 100644 --- a/basis/ui/pens/gradient/gradient.factor +++ b/basis/ui/pens/gradient/gradient.factor @@ -41,4 +41,6 @@ M: gradient draw-interior [ last-vertices>> gl-vertex-pointer ] [ last-colors>> gl-color-pointer ] [ colors>> draw-gradient ] - } cleave ; \ No newline at end of file + } cleave ; + +M: gradient pen-background 2drop transparent ; \ No newline at end of file diff --git a/basis/ui/pens/solid/solid.factor b/basis/ui/pens/solid/solid.factor index 32d400463e..950035e773 100644 --- a/basis/ui/pens/solid/solid.factor +++ b/basis/ui/pens/solid/solid.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: kernel accessors opengl ui.pens ui.pens.caching ; +USING: kernel accessors opengl math colors ui.pens ui.pens.caching ; IN: ui.pens.solid TUPLE: solid < caching-pen color interior-vertices boundary-vertices ; @@ -29,4 +29,4 @@ M: solid draw-boundary (gl-rect) ; M: solid pen-background - nip color>> ; \ No newline at end of file + nip color>> dup alpha>> 1 number= [ drop transparent ] unless ; \ No newline at end of file From fb8ee9fb1192cd9c0f3d32666f7323787872d6f6 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 16:59:33 -0500 Subject: [PATCH 4/8] Clicking in slides window requests focus --- extra/slides/slides.factor | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extra/slides/slides.factor b/extra/slides/slides.factor index 6a5b7ab816..752d0b3ffa 100755 --- a/extra/slides/slides.factor +++ b/extra/slides/slides.factor @@ -2,7 +2,7 @@ ! See http://factorcode.org/license.txt for BSD license. USING: arrays hashtables help.markup help.stylesheet io io.styles kernel math models namespaces sequences ui ui.gadgets -ui.gadgets.books ui.gadgets.panes ui.gestures ui.pens.gradient ui.render +ui.gadgets.books ui.gadgets.panes ui.gestures ui.pens.gradient parser accessors colors ; IN: slides @@ -98,6 +98,7 @@ TUPLE: slides < book ; parse-definition strip-tease [ parsed ] each ; parsing \ slides H{ + { T{ button-down } [ request-focus ] } { T{ key-down f f "DOWN" } [ next-page ] } { T{ key-down f f "UP" } [ prev-page ] } } set-gestures From 3acd00b4038b0a8939ca037d68bb7cb22e455023 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 16:59:48 -0500 Subject: [PATCH 5/8] Fix tetris rendering --- extra/tetris/gl/gl.factor | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/extra/tetris/gl/gl.factor b/extra/tetris/gl/gl.factor index 70300779b5..f8c901ff56 100644 --- a/extra/tetris/gl/gl.factor +++ b/extra/tetris/gl/gl.factor @@ -35,7 +35,7 @@ IN: tetris.gl : scale-board ( width height board -- ) [ width>> ] [ height>> ] bi swapd [ / ] dup 2bi* 1 glScalef ; -: (draw-tetris) ( width height tetris -- ) +: draw-tetris ( width height tetris -- ) #! width and height are in pixels GL_MODELVIEW [ { @@ -44,7 +44,4 @@ IN: tetris.gl [ next-piece draw-next-piece ] [ current-piece draw-piece ] } cleave - ] do-matrix ; - -: draw-tetris ( width height tetris -- ) - origin get [ (draw-tetris) ] with-translation ; + ] do-matrix ; \ No newline at end of file From 712711e86940497fe7793a5c39fcc12e2909b814 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 17:00:46 -0500 Subject: [PATCH 6/8] Replace png-gadget in otug-talk with icon gadget usage; convert PNG images to TIFF --- extra/otug-talk/2bi.png | Bin 6719 -> 0 bytes extra/otug-talk/2bi.tiff | Bin 0 -> 11744 bytes extra/otug-talk/2bi_at.png | Bin 7674 -> 0 bytes extra/otug-talk/2bi_at.tiff | Bin 0 -> 13728 bytes extra/otug-talk/2bi_star.png | Bin 6404 -> 0 bytes extra/otug-talk/2bi_star.tiff | Bin 0 -> 13924 bytes extra/otug-talk/bi.png | Bin 4837 -> 0 bytes extra/otug-talk/bi.tiff | Bin 0 -> 8872 bytes extra/otug-talk/bi_at.png | Bin 4660 -> 0 bytes extra/otug-talk/bi_at.tiff | Bin 0 -> 8848 bytes extra/otug-talk/bi_star.png | Bin 4415 -> 0 bytes extra/otug-talk/bi_star.tiff | Bin 0 -> 9784 bytes extra/otug-talk/otug-talk.factor | 53 ++++++++----------------------- 13 files changed, 13 insertions(+), 40 deletions(-) delete mode 100644 extra/otug-talk/2bi.png create mode 100644 extra/otug-talk/2bi.tiff delete mode 100644 extra/otug-talk/2bi_at.png create mode 100644 extra/otug-talk/2bi_at.tiff delete mode 100644 extra/otug-talk/2bi_star.png create mode 100644 extra/otug-talk/2bi_star.tiff delete mode 100644 extra/otug-talk/bi.png create mode 100644 extra/otug-talk/bi.tiff delete mode 100644 extra/otug-talk/bi_at.png create mode 100644 extra/otug-talk/bi_at.tiff delete mode 100644 extra/otug-talk/bi_star.png create mode 100644 extra/otug-talk/bi_star.tiff diff --git a/extra/otug-talk/2bi.png b/extra/otug-talk/2bi.png deleted file mode 100644 index 8f431f87ce059830ead37b1baeb701db3c5f7345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6719 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 diff --git a/extra/otug-talk/2bi.tiff b/extra/otug-talk/2bi.tiff new file mode 100644 index 0000000000000000000000000000000000000000..16c0777254962273281d6df6760975c90ff56f80 GIT binary patch literal 11744 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 literal 0 HcmV?d00001 diff --git a/extra/otug-talk/2bi_at.png b/extra/otug-talk/2bi_at.png deleted file mode 100644 index 55d42c2a4cf5afdcb45608740913e6a12b207fa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7674 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 diff --git a/extra/otug-talk/2bi_at.tiff b/extra/otug-talk/2bi_at.tiff new file mode 100644 index 0000000000000000000000000000000000000000..e41ab98eeb4132fd3cb2e0ae7fa6ead6263294be GIT binary patch literal 13728 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 In-m592kY>u{Qv*} literal 0 HcmV?d00001 diff --git a/extra/otug-talk/2bi_star.png b/extra/otug-talk/2bi_star.png deleted file mode 100644 index 0fff37624b4c9f7d0292c23ce2735c2c934df35d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6404 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 Ml(m(r6yAmZ7tM)ScK`qY diff --git a/extra/otug-talk/2bi_star.tiff b/extra/otug-talk/2bi_star.tiff new file mode 100644 index 0000000000000000000000000000000000000000..f457ce5481a0d86c2db8816b03f7bbc9c1c08476 GIT binary patch literal 13924 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 literal 0 HcmV?d00001 diff --git a/extra/otug-talk/bi.png b/extra/otug-talk/bi.png deleted file mode 100644 index 2470c9fab1570410f66cfa1cbe8094e038adce0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4837 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 diff --git a/extra/otug-talk/bi.tiff b/extra/otug-talk/bi.tiff new file mode 100644 index 0000000000000000000000000000000000000000..ad0ce97cc0cfd91ba2c89acb3435cbf255f2de84 GIT binary patch literal 8872 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 XZK9=>kdUAmzM%;>SW|OfY$*6YG-qSv literal 0 HcmV?d00001 diff --git a/extra/otug-talk/bi_at.png b/extra/otug-talk/bi_at.png deleted file mode 100644 index 282f2f118d3bd5af5c471a3c848c0fb657ea8c6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4660 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 aV>%u*{xZF97fb!aLt~_G4#DWU#Qp~iX(lBA diff --git a/extra/otug-talk/bi_at.tiff b/extra/otug-talk/bi_at.tiff new file mode 100644 index 0000000000000000000000000000000000000000..07d25bcd01e25edf0e99f12968a6b9c2493f38e7 GIT binary patch literal 8848 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 ZVj}cZRpa8~R04NqLITZH36Jsz{{=X_sWJcn literal 0 HcmV?d00001 diff --git a/extra/otug-talk/bi_star.png b/extra/otug-talk/bi_star.png deleted file mode 100644 index e94e3710cfc5163b08e3b6b5f69a4c4e7ccbb922..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4415 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 diff --git a/extra/otug-talk/bi_star.tiff b/extra/otug-talk/bi_star.tiff new file mode 100644 index 0000000000000000000000000000000000000000..17f3350b51b562129d4c90142c31986fce640959 GIT binary patch literal 9784 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 literal 0 HcmV?d00001 diff --git a/extra/otug-talk/otug-talk.factor b/extra/otug-talk/otug-talk.factor index 16ee2b740b..2ce307ce20 100644 --- a/extra/otug-talk/otug-talk.factor +++ b/extra/otug-talk/otug-talk.factor @@ -1,41 +1,14 @@ ! Copyright (C) 2008 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: slides help.markup math arrays hashtables namespaces -sequences kernel sequences parser memoize io.encodings.binary -locals kernel.private tools.vocabs.browser assocs quotations - tools.vocabs tools.annotations tools.crossref -help.topics math.functions compiler.tree.optimizer -compiler.cfg.optimizer fry -ui.gadgets.panes tetris tetris.game combinators generalizations -multiline sequences.private ; +USING: slides help.markup math arrays hashtables namespaces sequences +kernel sequences parser memoize io.encodings.binary locals +kernel.private tools.vocabs.browser assocs quotations tools.vocabs +tools.annotations tools.crossref help.topics math.functions +compiler.tree.optimizer compiler.cfg.optimizer fry ui.gadgets.panes +tetris tetris.game combinators generalizations multiline +sequences.private ; IN: otug-talk -USING: cairo cairo.ffi cairo.gadgets accessors -io.backend ui.gadgets ; - -TUPLE: png-gadget < cairo-gadget surface ; - -: <png-gadget> ( file -- gadget ) - png-gadget new-gadget - swap normalize-path - cairo_image_surface_create_from_png >>surface ; inline - -M: png-gadget pref-dim* ( gadget -- ) - surface>> - [ cairo_image_surface_get_width ] - [ cairo_image_surface_get_height ] - bi 2array ; - -M: png-gadget render-cairo* ( gadget -- ) - cr swap surface>> 0 0 cairo_set_source_surface - cr cairo_paint ; - -M: png-gadget ungraft* ( gadget -- ) - surface>> cairo_surface_destroy ; - -: $bitmap ( element -- ) - [ first <png-gadget> gadget. ] ($block) ; - : $tetris ( element -- ) drop [ <default-tetris> <tetris-gadget> gadget. ] ($block) ; @@ -105,11 +78,11 @@ CONSTANT: otug-slides } { $slide "Data flow combinators - cleave family" { { $link bi } ", " { $link tri } ", " { $link cleave } } - { $bitmap "resource:extra/otug-talk/bi.png" } + { $image "resource:extra/otug-talk/bi.tiff" } } { $slide "Data flow combinators - cleave family" { { $link 2bi } ", " { $link 2tri } ", " { $link 2cleave } } - { $bitmap "resource:extra/otug-talk/2bi.png" } + { $image "resource:extra/otug-talk/2bi.tiff" } } { $slide "Data flow combinators" "First, let's define a data type:" @@ -128,19 +101,19 @@ CONSTANT: otug-slides } { $slide "Data flow combinators - spread family" { { $link bi* } ", " { $link tri* } ", " { $link spread } } - { $bitmap "resource:extra/otug-talk/bi_star.png" } + { $image "resource:extra/otug-talk/bi_star.tiff" } } { $slide "Data flow combinators - spread family" { { $link 2bi* } } - { $bitmap "resource:extra/otug-talk/2bi_star.png" } + { $image "resource:extra/otug-talk/2bi_star.tiff" } } { $slide "Data flow combinators - apply family" { { $link bi@ } ", " { $link tri@ } ", " { $link napply } } - { $bitmap "resource:extra/otug-talk/bi_at.png" } + { $image "resource:extra/otug-talk/bi_at.tiff" } } { $slide "Data flow combinators - apply family" { { $link 2bi@ } } - { $bitmap "resource:extra/otug-talk/2bi_at.png" } + { $image "resource:extra/otug-talk/2bi_at.tiff" } } { $slide "Shuffle words" "When data flow combinators are not enough" From b3f09a9aed8a29602046e4180943639c5f017530 Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 17:28:17 -0500 Subject: [PATCH 7/8] Check for words which are not classes but have a $class-description element anyway --- basis/help/lint/lint.factor | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/basis/help/lint/lint.factor b/basis/help/lint/lint.factor index 57f64459c8..2281c295c3 100755 --- a/basis/help/lint/lint.factor +++ b/basis/help/lint/lint.factor @@ -132,6 +132,11 @@ SYMBOL: vocabs-quot [ check-descriptions ] } cleave ; +: check-class-description ( word element -- ) + [ class? not ] + [ { $class-description } swap elements empty? not ] bi* and + [ "A word that is not a class has a $class-description" throw ] when ; + : all-word-help ( words -- seq ) [ word-help ] filter ; @@ -153,7 +158,8 @@ M: help-error error. dup '[ _ dup word-help [ check-values ] - [ nip [ check-nulls ] [ check-see-also ] [ check-markup ] tri ] 2bi + [ check-class-description ] + [ nip [ check-nulls ] [ check-see-also ] [ check-markup ] tri ] 2tri ] check-something ] [ drop ] if ; From 16ddc461b4c2dbb528a785dc0a5dc19cf3db5f0b Mon Sep 17 00:00:00 2001 From: Slava Pestov <slava@slava-pestovs-macbook-pro.local> Date: Tue, 10 Mar 2009 17:28:34 -0500 Subject: [PATCH 8/8] Document ui.gadgets.glass and fix help lint failures in UI docs --- basis/ui/gadgets/glass/glass-docs.factor | 55 +++++++++++++++++++ basis/ui/gadgets/glass/glass.factor | 2 +- basis/ui/gadgets/menus/menus-docs.factor | 2 +- .../gadgets/status-bar/status-bar-docs.factor | 2 +- basis/ui/ui-docs.factor | 1 + 5 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 basis/ui/gadgets/glass/glass-docs.factor diff --git a/basis/ui/gadgets/glass/glass-docs.factor b/basis/ui/gadgets/glass/glass-docs.factor new file mode 100644 index 0000000000..bd9028d414 --- /dev/null +++ b/basis/ui/gadgets/glass/glass-docs.factor @@ -0,0 +1,55 @@ +IN: ui.gadgets.glass +USING: help.markup help.syntax ui.gadgets math.rectangles ; + +HELP: show-glass +{ $values { "owner" gadget } { "child" gadget } { "visible-rect" rect } } +{ $description "Displays " { $snippet "child" } " in the glass layer of the window containing " { $snippet "owner" } "." + $nl + "The child's position is calculated with a heuristic:" + { $list + "The child must fit inside the window" + { "The child must not obscure " { $snippet "visible-rect" } ", which is a rectangle whose origin is relative to " { $snippet "owner" } } + { "The child must otherwise be as close as possible to the edges of " { $snippet "visible-rect" } } + } + "For example, when displaying a menu, " { $snippet "visible-rect" } " is a single point at the mouse location, and when displaying a completion popup, " { $snippet "visible-rect" } " contains the bounds of the text element being completed." +} ; + +HELP: hide-glass +{ $values { "child" gadget } } +{ $description "Hides a gadget displayed in a glass layer." } ; + +HELP: hide-glass-hook +{ $values { "gadget" gadget } } +{ $description "Called when a gadget displayed in a glass layer is hidden. The gadget can perform cleanup tasks here." } ; + +HELP: pass-to-popup +{ $values { "gesture" "a gesture" } { "owner" "the popup's owner" } { "?" "a boolean" } } +{ $description "Resends the gesture to the popup displayed by " { $snippet "owner" } ". The owner must have a " { $slot "popup" } " slot. Outputs " { $link f } " if the gesture was handled, " { $link t } " otherwise." } ; + +HELP: show-popup +{ $values { "owner" gadget } { "popup" gadget } { "visible-rect" rect } } +{ $description "Displays " { $snippet "popup" } " in the glass layer of the window containing " { $snippet "owner" } " as a popup." + $nl + "This word differs from " { $link show-glass } " in two respects:" + { $list + { "The popup is stored in the owner's " { $slot "popup" } " slot; the owner can call " { $link pass-to-popup } " to pass keyboard gestures to the popup" } + { "Pressing " { $snippet "ESC" } " with the popup visible will hide it" } + } +} ; + +ARTICLE: "ui.gadgets.glass" "Glass layers" +"The " { $vocab-link "ui.gadgets.glass" } " vocabulary implements support for displaying gadgets in the glass layer of a window. The gadget can be positioned arbitrarily within the glass layer, and while it is visible, mouse clicks outside of the glass layer are intercepted to hide the glass layer. Multiple glass layers can be active at a time; they behave as if stacked on top of each other." +$nl +"This feature is used for completion popups and " { $link "ui.gadgets.menus" } " in the " { $link "ui-tools" } "." +$nl +"Displaying a gadget in a glass layer:" +{ $subsection show-glass } +"Hiding a gadget in a glass layer:" +{ $subsection hide-glass } +"Callback generic invoked on the gadget when its glass layer is hidden:" +{ $subsection hide-glass-hook } +"Popup gadgets add support for forwarding keyboard gestures from an owner gadget to the glass layer:" +{ $subsection show-popup } +{ $subsection pass-to-popup } ; + +ABOUT: "ui.gadgets.glass" \ No newline at end of file diff --git a/basis/ui/gadgets/glass/glass.factor b/basis/ui/gadgets/glass/glass.factor index a8f438c85e..af169235b4 100644 --- a/basis/ui/gadgets/glass/glass.factor +++ b/basis/ui/gadgets/glass/glass.factor @@ -71,7 +71,7 @@ popup H{ { T{ key-down f f "ESC" } [ hide-glass ] } } set-gestures -: pass-to-popup ( gesture interactor -- ? ) +: pass-to-popup ( gesture owner -- ? ) popup>> focusable-child resend-gesture ; : show-popup ( owner popup visible-rect -- ) diff --git a/basis/ui/gadgets/menus/menus-docs.factor b/basis/ui/gadgets/menus/menus-docs.factor index d7297217ed..ad0881a382 100644 --- a/basis/ui/gadgets/menus/menus-docs.factor +++ b/basis/ui/gadgets/menus/menus-docs.factor @@ -16,7 +16,7 @@ HELP: show-commands-menu { $notes "Useful for right-click context menus." } ; ARTICLE: "ui.gadgets.menus" "Popup menus" -"The " { $vocab-link "ui.gadgets.menus" } " vocabulary implements popup menus." +"The " { $vocab-link "ui.gadgets.menus" } " vocabulary displays popup menus in " { $link "ui.gadgets.glass" } "." { $subsection <commands-menu> } { $subsection show-menu } { $subsection show-commands-menu } ; diff --git a/basis/ui/gadgets/status-bar/status-bar-docs.factor b/basis/ui/gadgets/status-bar/status-bar-docs.factor index f5a6409fca..57c69c2a66 100644 --- a/basis/ui/gadgets/status-bar/status-bar-docs.factor +++ b/basis/ui/gadgets/status-bar/status-bar-docs.factor @@ -3,7 +3,7 @@ ui.gadgets ui.gadgets.worlds ui ; IN: ui.gadgets.status-bar HELP: show-status -{ $values { "string" string } { "gadget" gadget } } +{ $values { "string/f" string } { "gadget" gadget } } { $description "Displays a status message in the gadget's world." } { $notes "The status message will only be visible if the window was opened with " { $link open-status-window } ", and not " { $link open-window } "." } ; diff --git a/basis/ui/ui-docs.factor b/basis/ui/ui-docs.factor index d08dea299e..f2b6154745 100644 --- a/basis/ui/ui-docs.factor +++ b/basis/ui/ui-docs.factor @@ -171,6 +171,7 @@ ARTICLE: "ui-layouts" "Gadget hierarchy and layouts" { $subsection "ui-frame-layout" } { $subsection "ui-book-layout" } "Advanced topics:" +{ $subsection "ui.gadgets.glass" } { $subsection "ui-null-layout" } { $subsection "ui-incremental-layout" } { $subsection "ui-layout-impl" }