gxclip2.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /* Copyright (C) 1993, 1996, 1998, 1999 Aladdin Enterprises. All rights reserved.
  2. This software is provided AS-IS with no warranty, either express or
  3. implied.
  4. This software is distributed under license and may not be copied,
  5. modified or distributed except as expressly authorized under the terms
  6. of the license contained in the file LICENSE in this distribution.
  7. For more information about licensing, please refer to
  8. http://www.ghostscript.com/licensing/. For information on
  9. commercial licensing, go to http://www.artifex.com/licensing/ or
  10. contact Artifex Software, Inc., 101 Lucas Valley Road #110,
  11. San Rafael, CA 94903, U.S.A., +1(415)492-9861.
  12. */
  13. /* $Id: gxclip2.h,v 1.5 2002/06/16 08:45:43 lpd Exp $ */
  14. /* Tiled mask clipping device and interface */
  15. #ifndef gxclip2_INCLUDED
  16. # define gxclip2_INCLUDED
  17. #include "gxmclip.h"
  18. /* The structure for tile clipping is the same as for simple mask clipping. */
  19. typedef gx_device_mask_clip gx_device_tile_clip;
  20. #define st_device_tile_clip st_device_mask_clip
  21. /*
  22. * We can't just make this macro empty, since it is processed as a top-level
  23. * declaration and would lead to an extraneous semicolon. The least damage
  24. * we can do is make it declare a constant (and not static, since static
  25. * would lead to a compiler warning about an unreferenced variable).
  26. */
  27. #define private_st_device_tile_clip() /* in gxclip2.c */\
  28. const byte gxclip2_dummy = 0
  29. /*
  30. * Initialize a tile clipping device from a mask.
  31. * We supply an explicit phase.
  32. */
  33. int tile_clip_initialize(gx_device_tile_clip * cdev,
  34. const gx_strip_bitmap * tiles,
  35. gx_device * tdev, int px, int py,
  36. gs_memory_t *mem);
  37. /*
  38. * Set the phase of the tile -- used in the tiling loop when
  39. * the tile doesn't simply fill the plane.
  40. */
  41. void tile_clip_set_phase(gx_device_tile_clip * cdev, int px, int py);
  42. #endif /* gxclip2_INCLUDED */