*/}}

ourpaint.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #include "la_5.h"
  2. #define OUR_AT_CROP_CENTER 0
  3. #define OUR_AT_CROP_L 1
  4. #define OUR_AT_CROP_R 2
  5. #define OUR_AT_CROP_U 3
  6. #define OUR_AT_CROP_B 4
  7. #define OUR_AT_CROP_UL 5
  8. #define OUR_AT_CROP_UR 6
  9. #define OUR_AT_CROP_BL 7
  10. #define OUR_AT_CROP_BR 8
  11. STRUCTURE(OurCanvasDraw){
  12. laCanvasExtra Base;
  13. int ShowTiles;
  14. int AtCrop;
  15. real CanvasLastX,CanvasLastY;
  16. real CanvasDownX,CanvasDownY;
  17. real LastPressure;
  18. };
  19. #define OUR_TILE_W 64
  20. #define OUR_TEX_TILE_W 1024
  21. #define OUR_TEX_TILES_PER_ROW 100
  22. #define OUR_TILES_PER_ROW (OUR_TEX_TILES_PER_ROW*(OUR_TEX_TILE_W/OUR_TILE_W))
  23. #define OUR_TEX_TILE_CTR (OUR_TEX_TILES_PER_ROW/2)
  24. #define OUR_TEX_TILE_SEAM 12
  25. #define OUR_TEX_TILE_W_USE (OUR_TEX_TILE_W-OUR_TEX_TILE_SEAM*2)
  26. STRUCTURE(OurTile){
  27. int X,Y; // with offset so not neccessarily n*OUR_TILE_W
  28. void* Data;
  29. };
  30. STRUCTURE(OurTexTile){
  31. tnsTexture* Texture;
  32. };
  33. STRUCTURE(OurLayer){
  34. laListItem Item;
  35. laSafeString Name;
  36. int OffsetX,OffsetY;
  37. OurTexTile** TexTiles[OUR_TEX_TILES_PER_ROW];
  38. };
  39. STRUCTURE(OurBrush){
  40. laListItem Item;
  41. laSafeString Name;
  42. real Size;
  43. real DabsPerSize;
  44. real Hardness;
  45. real Transparency;
  46. real Smudge;
  47. real SmudgeResampleLength; real SmudgeAccum; int SmudgeRestart;
  48. real BrushRemainingDist;
  49. int UseNodes; // the flexible way
  50. int PressureSize,PressureHardness,PressureTransparency,PressureSmudge; // the simple way
  51. };
  52. STRUCTURE(OurDab){
  53. float X,Y;
  54. float Size;
  55. float Hardness;
  56. float Smudge; int ResampleSmudge;
  57. float Color[4];
  58. };
  59. #define OUR_TOOL_PAINT 0
  60. #define OUR_TOOL_CROP 1
  61. STRUCTURE(OurPaint){
  62. real pad;
  63. laListHandle Layers;
  64. OurLayer* CurrentLayer;
  65. laListHandle Brushes;
  66. OurBrush* CurrentBrush;
  67. OurDab* Dabs; int NextDab,MaxDab;
  68. int Tool,ActiveTool;
  69. int X,Y,W,H; //border
  70. int ShowBorder,UseBorder;
  71. tnsTexture* SmudgeTexture;
  72. GLuint CanvasShader;
  73. GLuint CanvasProgram;
  74. GLint uBrushCorner;
  75. GLint uBrushCenter;
  76. GLint uBrushSize;
  77. GLint uBrushHardness;
  78. GLint uBrushSmudge;
  79. GLint uBrushColor;
  80. GLint uBrushRoutineSelection;
  81. GLint RoutineDoDabs;
  82. GLint RoutineDoSample;
  83. real CurrentColor[4];
  84. real BackgroundColor[3];
  85. real BorderAlpha;
  86. };
  87. void ourInit();