dcanvas.h
上传用户:hzhsqp
上传日期:2007-01-06
资源大小:1600k
文件大小:4k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. /*
  2.  * dcanvas.h
  3.  *
  4.  * Drawing canvas for interactors.
  5.  *
  6.  * Portable Windows Library
  7.  *
  8.  * Copyright (c) 1993-1998 Equivalence Pty. Ltd.
  9.  *
  10.  * The contents of this file are subject to the Mozilla Public License
  11.  * Version 1.0 (the "License"); you may not use this file except in
  12.  * compliance with the License. You may obtain a copy of the License at
  13.  * http://www.mozilla.org/MPL/
  14.  *
  15.  * Software distributed under the License is distributed on an "AS IS"
  16.  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
  17.  * the License for the specific language governing rights and limitations
  18.  * under the License.
  19.  *
  20.  * The Original Code is Portable Windows Library.
  21.  *
  22.  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
  23.  *
  24.  * Portions are Copyright (C) 1993 Free Software Foundation, Inc.
  25.  * All Rights Reserved.
  26.  *
  27.  * Contributor(s): ______________________________________.
  28.  *
  29.  * $Log: dcanvas.h,v $
  30.  * Revision 1.14  1999/03/10 03:49:51  robertj
  31.  * More documentation adjustments.
  32.  *
  33.  * Revision 1.13  1999/03/09 08:01:48  robertj
  34.  * Changed comments for doc++ support (more to come).
  35.  *
  36.  * Revision 1.12  1999/02/16 08:08:45  robertj
  37.  * MSVC 6.0 compatibility changes.
  38.  *
  39.  * Revision 1.11  1998/09/23 06:23:17  robertj
  40.  * Added open source copyright license.
  41.  *
  42.  * Revision 1.10  1995/03/14 12:41:17  robertj
  43.  * Updated documentation to use HTML codes.
  44.  *
  45.  * Revision 1.9  1994/12/13  11:47:51  robertj
  46.  * Documentation.
  47.  *
  48.  * Revision 1.8  1994/10/23  04:42:21  robertj
  49.  * Added capability to over draw child windows when creating canvas.
  50.  *
  51.  * Revision 1.7  1994/08/23  11:32:52  robertj
  52.  * Oops
  53.  *
  54.  * Revision 1.6  1994/08/22  00:46:48  robertj
  55.  * Added pragma fro GNU C++ compiler.
  56.  *
  57.  * Revision 1.5  1994/06/25  11:55:15  robertj
  58.  * Unix version synchronisation.
  59.  *
  60.  * Revision 1.4  1994/01/03  04:42:23  robertj
  61.  * Mass changes to common container classes and interactors etc etc etc.
  62.  *
  63.  * Revision 1.3  1993/08/21  01:50:33  robertj
  64.  * Made Clone() function optional, default will assert if called.
  65.  *
  66.  * Revision 1.2  1993/07/14  12:49:16  robertj
  67.  * Fixed RCS keywords.
  68.  *
  69.  */
  70. #define _PDRAWCANVAS
  71. #ifdef __GNUC__
  72. #pragma interface
  73. #endif
  74. /**A canvas that is attached to an interactor on the screen and may be drawn
  75.    into at any time. Unlike a Ref{PRedrawCanvas} which the user should never
  76.    directly create, the PDrawCanvas is spcifically for application driven
  77.    drawing of the screen.
  78.   *********************************** NOTE ***********************************
  79.   On Some platforms, canvases are a limited resource. Do NOT create and leave
  80.   them around for long periods. As soon as it is not required till the next
  81.   user event, destroy it!
  82.   ****************************************************************************
  83.  */
  84. class PDrawCanvas : public PInteractorCanvas
  85. {
  86.   PCLASSINFO(PDrawCanvas, PInteractorCanvas);
  87.   public:
  88.     /** Create a canvas associated with an interactor on the screen. */
  89.     PDrawCanvas(
  90.       PInteractor * theInteractor,  /// Interactor canvas is attached to.
  91.       BOOL inPixels = FALSE,
  92.      /**Set the initial canvas coordinates are in screen pixels. The default
  93.          is for the coordinates to be set to one based on the current font for
  94.          the interactor (1/4 the average character widthand 1/8 the height).
  95.        */
  96.       BOOL overDrawChildWindows = FALSE
  97.      /**Drawing operations may overwrite child interactors that the attached
  98.          interactor may have conatined within it. The default is for the
  99.          drawing clip region to be set so that drawing does not overwrite
  100.          child interactors.
  101.        */
  102.     );
  103.     /** Destroy the canvas and its resources. */
  104.     virtual ~PDrawCanvas();
  105. #ifdef DOC_PLUS_PLUS
  106. };
  107. #endif
  108. // Class declaration continued in platform specific header file ///////////////