Script Library: 1238 scripts
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Archive version of: draw-a-mouse-over-round-button.r ... version: 2 ... btiffin 22-May-2007

REBOL [
    Title:      "Draw A Mouse Over Round Button"
    Date:      12-Feb-2006
    Name:     "Draw A Mouse Over Round Button"
    Version:  1.1.0
    File:        %draw-a-mouse-over-round-button.r
    Author:    "R. v.d.Zee"
    Owner:    "R. v.d.Zee"
    Rights:    "Copyright (C) R. v.d.Zee"
    Needs:    ["REBOL/View 1.3.2.3.1 5-Dec-2005 Core 2.6.3"]
    Tabs:      4
    Purpose: {To illustrate how to draw a round button in a box face,
                    and then and how the button may then be drawn again
                    as it may feel the mouse over it. 
                   }
    History:   [0.1.0  [12-Feb-2006 "Created "] ]
    Library: [
        level: 'beginner
        platform: 'all 
        type: [reference tutorial]
        domain: [GUI] 
        tested-under: 'XP
        support: none 
        license: none 
        see-also: none
    ]
    Language: 'English
]

logo: 64#{
R0lGODlhjQAjAKVAAAICAoGDe0hBPsTEwCYnIailnmBiW+Ph3DQ2M7m3sXNwaU1T
TJqWktTRzBYWFvLx746NhC8tKqupp2VmYjk+Ob65tFxaVQ8QDtbW1uzr6ElMR8zO
yXZ3b/7+/iIhH1ZbVrOxq5eXjoF+eKGhocvJxeXl49jX0m1vZomMhDs5NLi6t5KR
i3p8eaCfmB4gG0A+OlRUTlBMRgoKCigqJ6uqonJycPf28zEyLa6vp2tpZMK/uNzb
14eFfmZkXEBDP0dGQSwAAAAAjQAjAAAG/sCOcEgsGo/IpHLJbDqf0Kh0Sq1ar9is
dsvter/gMNI2ccnO6LR6zW6733A34OIDPTMEGSDOP19eB0kZEgCFhoeIiYqLjI2O
jhEQOzZQOhZ6j5mGOSVICBeaoaKjmh6UVAMvpI4TSKuvsKMOEFcJsYoIrre7vIYy
PRlYLr2FHrqLMzcRy8wRMx6gjX/Kzcs3LzOLDtXNDpiLKTpJByQqIBslp0c1ihcE
1B7fjjPHip1KHNGKBks6iwlKbGiQZ8jHhiMmAiBI5OBHICM2UOgrtOBeBx3ZMtE7
0uigkhITCBr6sATEIjtKdNxQtOIICRiNDJA4smHhIQ0YhoAgoGmj/pFGM4Vk2KBC
RbAhFVYqIjmkgVOnJhqgWERjyAMSIBI8GGLjhEiPRWA6grHDSIYJiHDq5KmxXiKw
OmDcuAHhaIcGGhYxFdJDQIy/MGJEWIRjCAkLM2a02CpEIiIZjIkcyCQDRWQhNiDI
UytkZ0+3iMDicFDoBUAhG37oJYLAwQxnzkgrKixkgI8LFxSU7bAhRaILRkrkOOTA
QAEdAw9dCGBkgNJCnDt4bsuREdgBBhBoABEZxOClRAqsoIEDBwgJJwgPyVAgAI8G
p3JMLOTAyAYfhyaYEEIi7yF+ReywwE05dcbWIz4V0ZFVJgwAVgcH9CBSIXthVkQF
6nH1gDo2/sxXSIK1+WaICkTQcCAAMQQ3nCHRTYcgaIeAZYM6HTzQwoQjEbEDCRs0
sIEJO7SQYQc27EjCQ3cZMF8uRehgUyEW3fUkAAKYpQCBa31W3SJgNcAACKfYUIAj
FZ7gww8xaACDAfjN1hQHPvjQwwBDDCCiISB2MMCUFRDRgmyFwGDEARZgaaCWP1k3
BA4ERECiEA88B94Qw2hCWwcJHKjAURkYgEh9RZggViEG7Kdnm4XIcIIRGPgHXYEd
4FDpi1sqIhppFhCxgoc5DsHrkCB4kKoIRz3glXJGPMCDcha0AAKq9IVgHwWGdkDD
MHqcwUieQix4KAANhDcrIhU2QAKQ/uiuQBVXB0R1mXOJRIkZoNuCWYQNy1ZrwwH8
lvDADtvCaAhYmRbCQ2SErqaELYqgJEhIiZxWhAI4FuJCCDQKsYOrrwqCI7cdNGLR
ABkhILGeqiQCYBL+KCIOPvQawkHGHewggrCLrHCZTuMCUJEgAdf61gMlsMeWDAY0
QHSRniYiaAZFZyC11A88MKYiAZjTQgFc40ADAyFA8Gs4R2RAgwX6yODADRPsDOmV
iPwQ7ox0z9iBCUEnuogMF6DxG98VO4Db4IT3TYwhN7x8xANQH5CB20T0sMgFDlRu
ueW/AmCM0Id3rokMFiBJhQ0x37K53p6nnskFHFxh0uERIFG6T+q0M2SXFDrc2Uuu
R5QwQu3ATw4DnVCscGIvLNxuBAutXe7889BHL/301FdfOW4pSHCHC7hZb/0FHnwA
uRjkl2/++einr/767Lfv/vvrBwEAOw==
}

buttonFont: make face/font [style: [italic bold] size: 20]

pencolor: gold 
fillPenColor: leaf
drawStuff: [
   line-width 3
    pen penColor
    fill-pen  fillPenColor
    circle 23x23 20
    pen gold
    font buttonFont text "R" 15x10
]


coalFace: layout [
    size 1024x736
    backcolor coal
    backeffect [grid 5x5  black]
   across
    space 50
    origin 60x80
    buttonPlate: box  47x46  effect  [draw drawStuff] feel [
        over: func [face act pos] [
            penColor:     either act [red][gold]
            fillPenColor: either act [green][leaf]                          ; the colors are exchanged
            face/effect:  [draw drawStuff]                                   ; and the face drawn again
            show face
         ] 
    ]  [write clipboard:// codeInfo/text ]
    return
    indent 100
    space 0
    codeInfo: info 750x313 coal font-color green wrap  font-size 17 
    infoScroll: scroller 16x313 [scroll-para codeInfo infoScroll]
    origin 850x600 image load logo
]

codeIn: read %Draw A Mouse Over Round Button.r
parse codeIn [to "buttonFont:" copy someCodeInHere thru "infoScroll]"]


insert someCodeInHere rejoin [
     tab tab "    " rebol/script/header/purpose "^/" 
     tab tab "    " "Clicking The Button Pastes The Script To The Clipboard" "^/" "^/"
]
codeInfo/text: someCodeInHere
codeInfo/para/origin: 10x5
coalFace/offset: 0x27
                                                               view coalFace