frame-buffer: cleanup layout*.

factor-shell
John Benediktsson 2018-01-21 22:03:56 -08:00
parent 3e85d3ce7d
commit 827f2652ce
1 changed files with 14 additions and 22 deletions

View File

@ -41,28 +41,20 @@ GENERIC: update-frame-buffer ( frame-buffer -- )
: update-last-dim ( frame-buffer -- ) dup dim>> >>last-dim drop ; : update-last-dim ( frame-buffer -- ) dup dim>> >>last-dim drop ;
M:: frame-buffer layout* ( FRAME-BUFFER -- ) M:: frame-buffer layout* ( FRAME-BUFFER -- )
{ FRAME-BUFFER last-dim>> [
{ FRAME-BUFFER dim>> = [
[ FRAME-BUFFER last-dim>> f = ] FRAME-BUFFER pixels>> :> OLD-PIXELS
[ FRAME-BUFFER last-dim>> first :> OLD-WIDTH
FRAME-BUFFER init-frame-buffer-pixels FRAME-BUFFER init-frame-buffer-pixels
FRAME-BUFFER update-last-dim FRAME-BUFFER update-last-dim
] FRAME-BUFFER pixels>> :> NEW-PIXELS
} FRAME-BUFFER last-dim>> first :> NEW-WIDTH
{ OLD-PIXELS OLD-WIDTH NEW-PIXELS NEW-WIDTH copy-pixels
[ FRAME-BUFFER [ dim>> ] [ last-dim>> ] bi = not ] ] unless
[ ] [
FRAME-BUFFER pixels>> :> OLD-PIXELS FRAME-BUFFER init-frame-buffer-pixels
FRAME-BUFFER last-dim>> first :> OLD-WIDTH FRAME-BUFFER update-last-dim
FRAME-BUFFER init-frame-buffer-pixels ] if* ;
FRAME-BUFFER update-last-dim
FRAME-BUFFER pixels>> :> NEW-PIXELS
FRAME-BUFFER last-dim>> first :> NEW-WIDTH
OLD-PIXELS OLD-WIDTH NEW-PIXELS NEW-WIDTH copy-pixels
]
}
[ ]
} cond ;
M:: frame-buffer draw-gadget* ( FRAME-BUFFER -- ) M:: frame-buffer draw-gadget* ( FRAME-BUFFER -- )
FRAME-BUFFER dim>> { 0 1 } v* first2 glRasterPos2i FRAME-BUFFER dim>> { 0 1 } v* first2 glRasterPos2i