home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / MATRIX.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  3KB  |  77 lines

  1. /* @(#)Z 1.4 com/src/imaging/Matrix.h, odimaging, od96os2, odos29646d 96/11/15 15:25:04 (96/10/29 09:25:10) */
  2. /*====START_GENERATED_PROLOG======================================
  3.  */
  4. /*
  5.  *   COMPONENT_NAME: odimaging
  6.  *
  7.  *   CLASSES: none
  8.  *
  9.  *   ORIGINS: 82,27
  10.  *
  11.  *
  12.  *   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  13.  *   All Rights Reserved
  14.  *   Licensed Materials - Property of IBM
  15.  *   US Government Users Restricted Rights - Use, duplication or
  16.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  17.  *       
  18.  *   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  19.  *   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  20.  *   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  21.  *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  22.  *   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  23.  *   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  24.  *   OR PERFORMANCE OF THIS SOFTWARE.
  25.  */
  26. /*====END_GENERATED_PROLOG========================================
  27.  */
  28.  
  29. /*
  30.     File:        Matrix.h
  31.  
  32.     Contains:    Matrix math [private] for ODTransforms.
  33.  
  34.     Owned by:    Jens Alfke (conversion to OpenDoc)
  35.     Written by:    Based on QuickDraw GX code by Cary Clark, Michael Fairman,
  36.                 Robert Johnson, Keith McGreggor, Oliver Steele, David Van Brink
  37.  
  38.     Copyright:    ⌐ 1987-1994 by Apple Computer, Inc., all rights reserved.
  39.  
  40.     Change History (most recent first):
  41.     
  42.          <1>     6/15/94    jpa        first checked in
  43.          ---------------------------Moved to ODSOM project.
  44.          <1>      5/9/94    jpa        first checked in
  45.     To Do:
  46. */
  47.  
  48.  
  49. #ifndef _MATRIX_
  50. #define _MATRIX_
  51.  
  52. #ifndef _ODTYPES_
  53. #include "ODTypes.h"
  54. #endif
  55.  
  56.  
  57. extern const ODMatrix kODIdentityMatrix;
  58.  
  59.  
  60. ODTransformType MxType( const ODMatrix* );
  61.  
  62. ODBoolean    MxNormalize( ODMatrix* );
  63. ODBoolean    MxInverse( const ODMatrix*, register ODTransformType,
  64.                        ODMatrix *imatrix);
  65. ODBoolean    MxMul( const ODMatrix*, ODTransformType,
  66.                    ODPoint *vector, ODSLong cnt);
  67. ODBoolean    MxConcat( const ODMatrix *a, ODTransformType aFlags,
  68.                       ODMatrix *b, ODTransformType bFlags );        // b = b * a
  69. ODBoolean    MxMove( ODMatrix*, ODTransformType, ODFixed tx, ODFixed ty );
  70. ODBoolean    MxMoveTo( ODMatrix*, ODTransformType, ODFixed x, ODFixed y);
  71. ODBoolean    MxScale( ODMatrix*, ODFixed sx, ODFixed sy);
  72. ODBoolean    MxSkew( ODMatrix*, ODFixed sx, ODFixed sy);
  73. ODBoolean    MxRotate( ODMatrix*, ODFixed angle );
  74.  
  75.  
  76. #endif /*_MATRIX_*/
  77.