alphablitforpostal.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. ////////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright 2016 RWS Inc, All Rights Reserved
  4. //
  5. // This program is free software; you can redistribute it and/or modify
  6. // it under the terms of version 2 of the GNU General Public License as published by
  7. // the Free Software Foundation
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License along
  15. // with this program; if not, write to the Free Software Foundation, Inc.,
  16. // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  17. //
  18. // alphaBLiTforPostal.h
  19. // Project: Nostril (aka Postal)
  20. //
  21. // This module deals with the high-level aspects alpha blitting or something.
  22. //
  23. // History:
  24. // 01/??/97 JRD Started.
  25. //
  26. // 02/13/97 JMI Now g_alphaBlit takes parms for the alphable mask image
  27. // and the MultiAlpha table.
  28. //
  29. ////////////////////////////////////////////////////////////////////////////////
  30. #ifndef ALPHA_BLIT_FOR_POSTAL_H
  31. #define ALPHA_BLIT_FOR_POSTAL_H
  32. //=================================
  33. // This draws source to destination with clipping only if NEITHER are zero!
  34. extern void rspMaskBlit(RImage* pimSrc,RImage* pimDst,short sDstX,short sDstY);
  35. // Takes a BMP8 and converts it to a mask of 0 and ucVal
  36. extern void rspCopyAsMask(RImage* pimSrc,RImage* pimDst,UCHAR ucVal);
  37. extern void g_alphaBlit(
  38. RImage* pimSrc, // Source image. (wall)
  39. RImage* pimDst, // Destination image.
  40. RImage* pimMask, // Mask of alphable area.
  41. RMultiAlpha* pma, // Table of alphas or something.
  42. short sAlphaX, // Source coordinate in pimSrc to put alphamask.
  43. short sAlphaY, // Source coordinate in pimSrc to put alphamask.
  44. short sDstX, // Destination coordinate in pimDst for pimSrc(0,0).
  45. short sDstY, // Destination coordinate in pimDst for pimSrc(0,0).
  46. RRect &rDstClip); // Rectangle to clip Dst to.
  47. //=================================
  48. #endif