Colorspace.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #pragma once
  2. #include "mupdf/fitz.h"
  3. #include "mupdf/pdf.h"
  4. #include "MuPDF.h"
  5. #ifndef __COLORSPACE
  6. #define __COLORSPACE
  7. namespace MuPDF {
  8. public enum class ColorspaceKind {
  9. None,
  10. Gray,
  11. Rgb,
  12. Bgr,
  13. Cmyk,
  14. Lab,
  15. };
  16. public ref class Colorspace sealed {
  17. public:
  18. Colorspace(fz_colorspace* colorspace) : _colorspace(colorspace) {};
  19. property bool IsIndexed {
  20. bool get() {
  21. return fz_colorspace_is_indexed(Context::Ptr, _colorspace);
  22. }
  23. }
  24. property bool IsDevice {
  25. bool get() {
  26. return fz_colorspace_is_device(Context::Ptr, _colorspace);
  27. }
  28. }
  29. property bool IsGray {
  30. bool get() {
  31. return fz_colorspace_is_gray(Context::Ptr, _colorspace);
  32. }
  33. }
  34. property bool IsRgb {
  35. bool get() {
  36. return fz_colorspace_is_rgb(Context::Ptr, _colorspace);
  37. }
  38. }
  39. property bool IsCmyk {
  40. bool get() {
  41. return fz_colorspace_is_cmyk(Context::Ptr, _colorspace);
  42. }
  43. }
  44. property ColorspaceKind Kind {
  45. ColorspaceKind get() {
  46. return static_cast<ColorspaceKind>(fz_colorspace_type(Context::Ptr, _colorspace));
  47. }
  48. }
  49. property int NumberOfColorant {
  50. int get() {
  51. return fz_colorspace_n(Context::Ptr, _colorspace);
  52. }
  53. }
  54. internal:
  55. property fz_colorspace* Pointer {
  56. fz_colorspace* get() {
  57. return _colorspace;
  58. }
  59. }
  60. private:
  61. Colorspace() : Colorspace(NULL) {};
  62. fz_colorspace* _colorspace;
  63. };
  64. };
  65. #endif // __COLORSPACE