Rapid-Q Documentation by William Yu (c)1999 | Appendix B: QDXSCREEN

# QDXSCREEN Component

  QDXScreen allows you to create a DirectX screen for all your DXComponents. All operations are done on the off-screen buffer, so nothing is displayed until you flip to it. To use full screen mode, set FullScreen to true, and make sure your form border style is bsNone.
  QDXScreen Properties

  Field | Type | R/W | Default

  Align | INTEGER | RW | alNone
  AllowStretch | INTEGER | RW | True
  AutoSize | INTEGER | RW | True
  BitCount | INTEGER | RW | 8
  Color | INTEGER | RW |
  Cursor | INTEGER | RW | crDefault
  Enabled | INTEGER | RW | True
  Font | QFONT | W |
  FullScreen | INTEGER | RW | False
  Height | INTEGER | RW |
  Hint | STRING | RW |
  Left | INTEGER | RW |
  Parent | QFORM/QPANEL/QTABCONTROL | W |
  Pixel | 2D ARRAY of INTEGER | RW |
  ShowHint | INTEGER | RW | False
  Top | INTEGER | RW |
  Use3D | INTEGER | RW | False
  UseHardware | INTEGER | RW | True
  Visible | INTEGER | RW | True
  Width | INTEGER | RW |

  QDXScreen Methods

  Method | Type | Description | Params

  Circle | SUB (x1%, y1%, x2%, y2%, c%, fill%) | Draw & Fill Circle | 6
  CopyRect | SUB (D, Image, S) | D and S are QRECTs, Image can be a QImage, QCanvas, or QBitmap | 3
  Draw | SUB (x%, y%, BMP) | Draw Bitmap at (X,Y) | 3
  Fill | SUB (DevCol%) | Fill screen (not traditional colors) | 1
  FillRect | SUB (x1%, y1%, x2%, y2%, c%) | Draw & Fill a rectangle | 5
  Flip | SUB | Copies off-screen buffer to visible page | 0
  Init | SUB (Width%, Height%) | Create Screen | 2
  Line | SUB (x1%, y1%, x2%, y2%, c%) | Draws a line | 5
  Paint | SUB (x%, y%, c%, borderc%) | Fill Region | 4
  Pset | SUB (x%, y%, c%) | Pixel Plot | 3
  Rectangle | SUB (x1%, y1%, x2%, y2%, c%) | Draws a rectangle | 5
  Release | SUB | Force update | 0
  Rotate | SUB (xOrigin%, yOrigin%, Angle%) | Rotates entire screen at specified origin | 3
  RoundRect | SUB (x1%, y1%, x2%, y2%, x3%, y3%, c%) | Draws & Fills a rounded rectangle | 7
  StretchDraw | SUB (Rect AS QRECT, BMP) | Draw BMP and stretch to fit inside Rect | 2
  TextHeight | FUNCTION (Text$) AS WORD | Returns the height, in pixels, of Text$ string | 1
  TextWidth | FUNCTION (Text$) AS WORD | Returns the width, in pixels, of Text$ string | 1
  TextRect | SUB (Rect AS QRECT, x%, y%, S$, fc%, bc%) | Write text, and clip within region Rect | 6
  TextOut | SUB (x%, y%, S$, fc%, bc%) | Writes text | 5

  QDXScreen 3D Methods

  Method | Type | Description | Params

  AddLight | SUB (Light AS QD3DLight) | Add light to scene | 1
  CameraLookAt | SUB (F AS QD3DFrame, Constraint AS INTEGER) | Fix frame and constrain rotation | 2
  CreateFace | SUB (Face AS QD3DFace) | Creates a face | 1
  CreateFrame | SUB (Frame AS QD3DFrame) | Creates frame | 1
  CreateLightRGB | SUB (LightType%, R#, G#, B#, Light AS QD3DLight) | Create light object | 5
  CreateMeshBuilder | SUB (MB AS QD3DMeshBuilder) | Creates meshbuilder | 1
  CreateShadow | SUB (MB AS QD3DMeshBuilder, Light AS QD3DLight, px#, py#, pz#, nx#, ny#, nz#, V AS QD3DVisual) | Creates a visual shadow object | 9
  CreateWrap | SUB (WrapType%, A#, B#, C#, D#, E#, F#, G#, H#, I#, J#, K#, L#, M#, W AS QD3DWrap) | Creates a wrap object | 15
  ForceUpdate | SUB (X1%, Y1%, X2%, Y2%) | Force update on specific region | 4
  LoadTexture | SUB (File AS STRING, Tex AS QD3DTexture) | Create a texture object | 2
  Move | SUB (D AS DOUBLE) | Moves/animates scene | 1
  SetBackgroundImage | SUB (Tex AS QD3DTexture) | Set background image for scene | 1
  SetCameraPosition | SUB (X#, Y#, Z#) | Set camera position for entire scene | 3
  SetCameraOrientation | SUB (DX#, DY#, DZ#, UX#, UY#, UZ#) | Set camera orientation for scene | 6
  SetRenderMode | SUB (M AS INTEGER) | Set render mode for scene | 1
  SetTextureQuality | SUB (Quality AS INTEGER) | Set texture quality for scene | 1

  QDXScreen Events

  Event | Type | Occurs when... | Params

  OnClick | VOID | Mouse button clicked | 0
  OnDblClick | VOID | Mouse button double clicked | 0
  OnInitialize | VOID | DirectX succeeds in initializing | 0
  OnInitializeSurface | VOID | Another event for you to do initializing | 0
  OnKeyDown | SUB (Key AS Word, Shift AS INTEGER) | Key held down | 2
  OnKeyPress | SUB (Key AS BYTE) | User presses a key | 1
  OnMouseDown | SUB (Button%, X%, Y%) | Mouse button held down | 3
  OnMouseMove | SUB (X%, Y%) | Mouse moves | 2
  OnMouseUp | SUB (Button%, X%, Y%) | Mouse button is released | 3

  QDXScreen Examples

      $APPTYPE GUI
      $TYPECHECK ON
      $INCLUDE "RAPIDQ.INC"

      DIM Form AS QForm
          Form.ClientHeight = 480
          Form.ClientWidth = 640
      DIM Screen AS QDXScreen

      Screen.Parent = Form
      Screen.Init(640, 480)
      Screen.Align = alClient

      Form.ShowModal

  Prev Component | Contents | Next Component