It was inevitable, really, that I’d end this series with my own game. The Dating Pool uses a simplified take on BorderWindow
, with the ability to change the thickness removed.
I could’ve just used a BorderWindow
, in fact, with bevelWid
and shadowWid
both set to 1 and I’d get the exact same result. This exact style was in fact one of the examples I’ve shown back there! But I did not, if only because I use titles sometimes.
(class cdWindow of SysWindow (properties topBordColor 7 lftBordColor 6 rgtBordColor 4 botBordColor 3 titleBack 3 titleColor 255 ) (method (open &tmp oldPort screens) ; The established setup (= screens VISUAL) (if (!= priority -1) (|= screens PRIORITY)) ; Make room for the edges (= lsTop (- top 2)) (if title (-= lsTop 9)) (= lsLeft (- left 2)) (= lsRight (+ right 3)) (= lsBottom (+ bottom 3)) ; Set our custom style (= type 128) ; Always top priority (= priority 15) (super open:) ; Now we draw, on the whole screen. (= oldPort (GetPort)) (SetPort 0) ; Draw our fill... (Graph grFILL_BOX top left bottom right screens back 15) ; Custom title bar support! (if title (-= top 9) (+= bottom 1) (Graph grFILL_BOX top left (+ top 9) right screens botBordColor titleBack) (Display title dsCOORD left top dsWIDTH (- right left) dsCOLOR titleColor dsFONT 999 dsMODE alCENTER) ) ; Draw the frame (Graph grDRAW_LINE (- top 1) (- left 1) (- top 1) right topBordColor priority screens) (Graph grDRAW_LINE (- top 1) (- left 1) (- bottom 1) (- left 1) lftBordColor priority screens) (Graph grDRAW_LINE (- bottom 1) left (- bottom 1) right botBordColor priority screens) (Graph grDRAW_LINE top right (- bottom 2) right rgtBordColor priority screens) ; Draw our drop shadow (Graph grDRAW_LINE bottom (+ left 1) bottom right 0 priority screens) (Graph grDRAW_LINE top (+ right 1) bottom (+ right 1) 0 priority screens) ; Show what we have wrought. (Graph grUPDATE_BOX (- top 1) (- left 1) (+ bottom 1) (+ right 1) VISUAL) (SetPort oldPort) ) )
Eagle-eyed viewers might notice that the color properties are set to various grayscales while the image up top is green. This is simply because the instance of this cdWindow
class has those colors. The control panel, in contrast, is tan.
And that’s the end of this series. If you have any other SCI games (preferably SCI11 or earlier) that you’d like to see, drop me a line in the comments below and I’ll see what I can do. Barring any of that though…