SShadow.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import { SColor } from "./SColor";
  2. /**
  3. * 阴影
  4. *
  5. * @author hoajianlong(1061851420@qq.com)
  6. */
  7. export class SShadow {
  8. /** 阴影扩散距离 */
  9. shadowBlur: number = 0;
  10. /** 阴影颜色 */
  11. shadowColor: SColor | null = null;
  12. /** 阴影x轴偏移量 */
  13. shadowOffsetX: number = 0;
  14. /** 阴影y轴偏移量 */
  15. shadowOffsetY: number = 0;
  16. /**
  17. * 构造函数
  18. */
  19. constructor();
  20. /**
  21. * 构造函数
  22. *
  23. * @param shadow 阴影画刷
  24. */
  25. constructor(shadow: SShadow);
  26. /**
  27. * 构造函数
  28. *
  29. * @param blur 扩散距离
  30. * @param color 颜色
  31. */
  32. constructor(blur: number, color: SColor);
  33. /**
  34. * 构造函数
  35. *
  36. * @param blur 阴影|扩散距离
  37. * @param color 阴影颜色
  38. * */
  39. constructor(blur?: number | SShadow, color?: SColor) {
  40. if (blur == undefined) {
  41. return;
  42. }
  43. if (blur instanceof SShadow) {
  44. this.shadowBlur = blur.shadowBlur;
  45. this.shadowColor = blur.shadowColor;
  46. this.shadowOffsetX = blur.shadowOffsetX;
  47. this.shadowOffsetY = blur.shadowOffsetY;
  48. } else {
  49. this.shadowBlur = blur;
  50. this.shadowColor = color || SColor.Black;
  51. }
  52. }
  53. } // Class SShadow