home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Graphics / Graphics.zip / pgpro40.zip / 3DRaised.cwx next >
Text File  |  1999-08-03  |  5KB  |  144 lines

  1. /*
  2.     3DRaised.cwx
  3.     PGPro Scripts v4.0 - by Don Eitner, 1999
  4.  
  5.     Creates the effect of a third dimension on a selected object just to make
  6.     it stand out more.
  7.  
  8.     This code is neither supported nor under warranty.  Feel free to
  9.     examine and modify this script for your own purposes.  See the
  10.     included readme.txt for additional information.
  11. */
  12.  
  13. Handle.0 = CwGetSelectedObject()
  14.  
  15. /* no object selected */
  16. if \CwIsHandleValid(Handle.0) then
  17.     do
  18.         call CwMsg "No object selected."
  19.         exit
  20.     end
  21.  
  22. /* Set initial variables */
  23. Output  = CwGetAppHandle("Output Settings")
  24. Measure = CwGetProperty(Output, "Unit")
  25.  
  26. /* Force project into pixels mode -- we'll change it back later */
  27. if (Measure = "Inches") | (Measure = "Centimeters") | (Measure = "Points") then
  28.     call CwSetProperty Output, Unit, "Pixels"
  29.  
  30. /* Set additional variables */
  31. Xcenter.0 = CwGetProperty(Handle.0, "Position:X Center")
  32. Ycenter.0 = CwGetProperty(Handle.0, "Position:Y Center")
  33. Width     = CwGetProperty(Handle.0, "Position:Width")
  34. Height    = CwGetProperty(Handle.0, "Position:Height")
  35. Rotate    = CwGetProperty(Handle.0, "Position:Angle")
  36. Sheer     = CwGetProperty(Handle.0, "Position:Skew")
  37. Move      = Height / 100
  38.  
  39. do num = 1 to 8
  40.     Handle.Num = CwDuplicateObject(Handle.0)
  41. end
  42.  
  43.  
  44. Xcenter = Xcenter.0
  45. Ycenter = Ycenter.0 + Move
  46.  
  47. call CwSetProperty Handle.1, "Position:Y Center", Ycenter
  48. call CwSetProperty Handle.1, "Position:X Center", Xcenter
  49. call CwMoveObjectBehindObject Handle.1, Handle.0
  50. call CwSetPosition Handle.1, Xcenter, Ycenter, Width, Height, Rotate, Sheer
  51.  
  52. call CwSetTool handle.1, "Solid Color"
  53. call CwSetProperty CwGetTool(handle.1), "Color", "(255,255,255)"
  54.  
  55.  
  56. Xcenter = Xcenter.0 - Move
  57. Ycenter = Ycenter.0 + (2 * Move)
  58.  
  59. call CwSetProperty Handle.2, "Position:Y Center", Ycenter
  60. call CwSetProperty Handle.2, "Position:X Center", Xcenter
  61. call CwMoveObjectBehindObject Handle.2, Handle.1
  62. call CwSetPosition Handle.2, Xcenter, Ycenter, Width, Height, Rotate, Sheer
  63.  
  64. call CwSetTool handle.2, "Solid Color"
  65. call CwSetProperty CwGetTool(handle.2), "Color", "(255,255,255)"
  66.  
  67.  
  68. Xcenter = Xcenter.0 - (2 * Move)
  69. Ycenter = Ycenter.0 + Move
  70.  
  71. call CwSetProperty Handle.3, "Position:Y Center", Ycenter
  72. call CwSetProperty Handle.3, "Position:X Center", Xcenter
  73. call CwMoveObjectBehindObject Handle.3, Handle.2
  74. call CwSetPosition Handle.3, Xcenter, Ycenter, Width, Height, Rotate, Sheer
  75.  
  76. call CwSetTool handle.3, "Solid Color"
  77. call CwSetProperty CwGetTool(handle.3), "Color", "(255,255,255)"
  78.  
  79.  
  80. Xcenter = Xcenter.0 - Move
  81. Ycenter = Ycenter.0
  82.  
  83. call CwSetProperty Handle.4, "Position:Y Center", Ycenter
  84. call CwSetProperty Handle.4, "Position:X Center", Xcenter
  85. call CwMoveObjectBehindObject Handle.4, Handle.3
  86. call CwSetPosition Handle.4, Xcenter, Ycenter, Width, Height, Rotate, Sheer
  87.  
  88. call CwSetTool handle.4, "Solid Color"
  89. call CwSetProperty CwGetTool(handle.4), "Color", "(255,255,255)"
  90.  
  91.  
  92.  
  93. Xcenter = Xcenter.0 + Move
  94. Ycenter = Ycenter.0
  95.  
  96. call CwSetProperty Handle.5, "Position:Y Center", Ycenter
  97. call CwSetProperty Handle.5, "Position:X Center", Xcenter
  98. call CwMoveObjectBehindObject Handle.5, Handle.0
  99. call CwSetPosition Handle.5, Xcenter, Ycenter, Width, Height, Rotate, Sheer
  100.  
  101. call CwSetTool handle.5, "Solid Color"
  102. call CwSetProperty CwGetTool(handle.5), "Color", "(0,0,0)"
  103.  
  104.  
  105. Xcenter = Xcenter.0 + (2 * Move)
  106. Ycenter = Ycenter.0 - Move
  107.  
  108. call CwSetProperty Handle.6, "Position:Y Center", Ycenter
  109. call CwSetProperty Handle.6, "Position:X Center", Xcenter
  110. call CwMoveObjectBehindObject Handle.6, Handle.5
  111. call CwSetPosition Handle.6, Xcenter, Ycenter, Width, Height, Rotate, Sheer
  112.  
  113. call CwSetTool handle.6, "Solid Color"
  114. call CwSetProperty CwGetTool(handle.6), "Color", "(0,0,0)"
  115.  
  116.  
  117. Xcenter = Xcenter.0 + Move
  118. Ycenter = Ycenter.0 - (2 * Move)
  119.  
  120. call CwSetProperty Handle.7, "Position:Y Center", Ycenter
  121. call CwSetProperty Handle.7, "Position:X Center", Xcenter
  122. call CwMoveObjectBehindObject Handle.7, Handle.6
  123. call CwSetPosition Handle.7, Xcenter, Ycenter, Width, Height, Rotate, Sheer
  124.  
  125. call CwSetTool handle.7, "Solid Color"
  126. call CwSetProperty CwGetTool(handle.7), "Color", "(0,0,0)"
  127.  
  128.  
  129. Xcenter = Xcenter.0
  130. Ycenter = Ycenter.0 - Move
  131.  
  132. call CwSetProperty Handle.8, "Position:Y Center", Ycenter
  133. call CwSetProperty Handle.8, "Position:X Center", Xcenter
  134. call CwMoveObjectBehindObject Handle.8, Handle.7
  135. call CwSetPosition Handle.8, Xcenter, Ycenter, Width, Height, Rotate, Sheer
  136.  
  137. call CwSetTool handle.8, "Solid Color"
  138. call CwSetProperty CwGetTool(handle.8), "Color", "(0,0,0)"
  139.  
  140.  
  141. call CwSetProperty Output, Unit, Measure
  142.  
  143. exit
  144.