home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / ibidiset.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  4.2 KB  |  132 lines

  1. #ifndef _IBIDISET_
  2. #define _IBIDISET_
  3. /*******************************************************************************
  4. * FILE NAME: ibidiset.hpp                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the classes:                                                *
  8. *     IBidiSettings                                                            *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18.  
  19. #include <ivbase.hpp>
  20. #include <ihandle.hpp>
  21.  
  22. class IWindow;
  23. class IGraphicContext;
  24. class IBidiSettingsData;
  25.  
  26. #pragma pack(4)
  27.  
  28.  
  29. class IBidiSettings : public IVBase {
  30. typedef IVBase
  31.   Inherited;
  32.  
  33. public:
  34. /*------------------------------- Constructors -------------------------------*/
  35.   IBidiSettings ( const IWindow&         window );
  36.   IBidiSettings ( const IWindowHandle    windowHandle );
  37.   IBidiSettings ( const IGraphicContext& graphicContext );
  38.   IBidiSettings ( const IPresSpaceHandle presSpace );
  39.  
  40. virtual
  41.  ~IBidiSettings ( );
  42.  
  43. /*-------------------------- Bidirectional Support ---------------------------*/
  44. static Boolean
  45.   isBidiSupported ( );
  46.  
  47. virtual IBidiSettings
  48.  &apply ( const IWindow&         window,
  49.           Boolean                childInherit = true,
  50.           Boolean                refresh      = true ),
  51.  &apply ( const IWindowHandle    windowHandle,
  52.           Boolean                childInherit = true,
  53.           Boolean                refresh      = true ),
  54.  &apply ( const IGraphicContext& graphicContext ),
  55.  &apply ( const IPresSpaceHandle presSpace );
  56.  
  57. /*-------------------------------- Attributes --------------------------------*/
  58. enum BidiTextType {
  59.   visual,
  60.   implicit
  61.   };
  62.  
  63. enum BidiTextOrientation {
  64.   textLeftToRight,
  65.   textRightToLeft,
  66.   textContextual
  67.   };
  68.  
  69. enum BidiLayout {
  70.   layoutLeftToRight,
  71.   layoutRightToLeft
  72.   };
  73.  
  74. enum BidiNumeralType {
  75.   arabic,
  76.   asStored,
  77.   national,
  78.   contextual
  79.   };
  80.  
  81. enum BidiTextShape {
  82.   displayShaped,
  83.   saveShaped,
  84.   nominalShape,
  85.   initialShape,
  86.   middleShape,
  87.   finalShape,
  88.   isolatedShape
  89.   };
  90.  
  91. virtual IBidiSettings
  92.  &setTextType                   ( BidiTextType        textType ),
  93.  &setTextOrientation            ( BidiTextOrientation textOrientation ),
  94.  &setWindowLayout               ( BidiLayout          windowLayout ),
  95.  &setNumeralDisplay             ( BidiNumeralType     numeralDisplay ),
  96.  &enableSymmetricSwapping       ( Boolean             enable = true ),
  97.  &disableSymmetricSwapping      ( ),
  98.  &enableWordByWordReordering    ( Boolean             enable = true ),
  99.  &disableWordByWordReordering   ( ),
  100.  &setTextShape                  ( BidiTextShape       textShape );
  101.  
  102. BidiTextType
  103.   textType                      ( ) const;
  104. BidiTextOrientation
  105.   textOrientation               ( ) const;
  106. BidiLayout
  107.   windowLayout                  ( ) const;
  108. BidiNumeralType
  109.   numeralDisplay                ( ) const;
  110. Boolean
  111.   isSymmetricSwappingEnabled    ( ) const;
  112. Boolean
  113.   isWordByWordReorderingEnabled ( ) const;
  114. BidiTextShape
  115.   textShape                     ( ) const;
  116.  
  117. private:
  118. /*----------------------------- Hidden Functions -----------------------------*/
  119.   IBidiSettings ( const IBidiSettings& settings );
  120. IBidiSettings
  121.  &operator=    ( const IBidiSettings& settings );
  122.  
  123. /*--------------------------------- Private ----------------------------------*/
  124. IBidiSettingsData
  125.  *fBidiSettingsData;
  126. };
  127.  
  128.  
  129. #pragma pack()
  130.  
  131. #endif /* _IBIDISET_ */
  132.