CSET.HXX
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*
  2.    this option allows to select a type of characters 
  3.    and either print/display only the characters in the
  4. set, or to color them, whatever.
  5. To make this work i need to
  6. a) have a way to
  7. 1) identify
  8. 2) create
  9. 3) combine
  10.     the subsets
  11. b) be able to determin whether a character
  12.  IsInSet
  13.  and which is the next character in the set
  14. c) associate an action with the set
  15. actions are
  16. fg, bg color and ignore 
  17. (can use fg color=white for ignore)
  18. and can be kept in a single WORD
  19. As sources for subsets I have:
  20. i) named subsets (ISO 10646)
  21. ii) character properties
  22. */
  23. #ifndef _CSET_HXX_
  24. #define _CSET_HXX_
  25. // base class for any form of set
  26. class CSet
  27. {
  28. public:
  29. virtual BOOL In(WORD iChar) = 0;
  30. //virtual WORD Next(WORD iChar) = 0;
  31. //virtual WORD Prev(WORD iChar) = 0;
  32. protected:
  33. } ;
  34. // Set based on CType 
  35. class CCTypeSet : public CSet
  36. {
  37. public:
  38. CCTypeSet(WORD fC1Mask, WORD fC2Test, WORD fC3Mask);
  39. BOOL In(WORD iChar);
  40. protected:
  41. void GetPageData( WORD iPage );
  42. BOOL _pCharInSet[256];
  43. BOOL _pPageInSet[256];
  44. WORD _fC1Mask;
  45. WORD _fC2Test; // C2 is an enumerated field
  46. WORD _fC3Mask;
  47. WORD _iPage;
  48. } ;
  49. // Set based on font coverage
  50. class CFontSet: public CSet 
  51. {
  52. public:
  53. CFontSet(HWND hwnd, HFONT hfont) ;
  54. } ;
  55. #endif