Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
PixelPaint Class Reference
Inheritance diagram for PixelPaint:

Public Member Functions

void Init ()
 
void Fill (Color color)
 

Public Attributes

RawImage imageRect
 
RawImage imageGrid
 
RawImage imagePreview
 
RawImage imageMask
 
Vector2Int size
 
int scale
 
int brushSize
 
int paddingBrush
 
Texture2D tex
 
Image imageBrush
 
ColorPicker picker
 
Color startColor
 
Color bgColor
 

Private Member Functions

void Update ()
 
void OnDestroy ()
 

Private Attributes

bool first = true
 

Detailed Description

Definition at line 5 of file PixelPaint.cs.

Member Function Documentation

◆ Fill()

void PixelPaint.Fill ( Color  color)
inline

Definition at line 109 of file PixelPaint.cs.

110 {
111 int num = tex.GetPixels().Length;
112 Color[] array = new Color[num];
113 for (int i = 0; i < num; i++)
114 {
115 array[i] = color;
116 }
117 tex.SetPixels(array);
118 tex.Apply();
119 }
Texture2D tex
Definition: PixelPaint.cs:23

References Color, and tex.

Referenced by Init().

◆ Init()

void PixelPaint.Init ( )
inline

Definition at line 92 of file PixelPaint.cs.

93 {
94 Vector2 sizeDelta = new Vector2(size.x * scale, size.y * scale);
95 imageRect.rectTransform.sizeDelta = sizeDelta;
96 imageGrid.rectTransform.sizeDelta = sizeDelta;
97 imageGrid.uvRect = new Rect(0f, 0f, size.x, size.y);
98 tex = new Texture2D(size.x, size.y, TextureFormat.ARGB32, mipChain: false);
99 tex.filterMode = FilterMode.Point;
100 imagePreview.texture = tex;
101 imagePreview.rectTransform.sizeDelta = new Vector2(size.x * 2, size.y * 2);
102 imageRect.texture = tex;
103 Fill(bgColor);
104 picker.Init();
107 }
void SelectColor(Color newColor)
Definition: ColorPicker.cs:218
Color startColor
Definition: PixelPaint.cs:29
ColorPicker picker
Definition: PixelPaint.cs:27
Color bgColor
Definition: PixelPaint.cs:31
Vector2Int size
Definition: PixelPaint.cs:15
void Fill(Color color)
Definition: PixelPaint.cs:109

References bgColor, Fill(), Empyrean.ColorPicker.ColorPicker.Init(), picker, scale, Empyrean.ColorPicker.ColorPicker.SelectColor(), size, startColor, and tex.

Referenced by LayerPixelPaint.OnInit().

◆ OnDestroy()

void PixelPaint.OnDestroy ( )
inlineprivate

Definition at line 121 of file PixelPaint.cs.

122 {
123 if ((bool)tex)
124 {
125 Object.Destroy(tex);
126 tex = null;
127 }
128 }

References tex.

◆ Update()

void PixelPaint.Update ( )
inlineprivate

Definition at line 35 of file PixelPaint.cs.

36 {
37 RectTransform rectTransform = (RectTransform)imageRect.transform;
38 RectTransformUtility.ScreenPointToLocalPointInRectangle(imageRect.rectTransform, Input.mousePosition, null, out var localPoint);
39 Vector2 vector = localPoint - rectTransform.rect.min;
40 vector.x *= imageRect.uvRect.width / rectTransform.rect.width;
41 vector.y *= imageRect.uvRect.height / rectTransform.rect.height;
42 vector += imageRect.uvRect.min;
43 int num = (int)(vector.x * (float)size.x);
44 int num2 = (int)(vector.y * (float)size.y);
45 bool flag = vector.x >= 0f && vector.y >= 0f && vector.x <= 1f && vector.y <= 1f;
46 if (flag)
47 {
48 if (Input.GetMouseButton(0) && !first)
49 {
50 for (int i = num2 - brushSize + 1; i < num2 + brushSize; i++)
51 {
52 for (int j = num - brushSize + 1; j < num + brushSize; j++)
53 {
54 if (j >= 0 && i >= 0 && j < size.x && i < size.y)
55 {
56 tex.SetPixel(j, i, picker.SelectedColor);
57 }
58 }
59 }
60 tex.Apply();
61 }
62 if (Input.GetMouseButton(1))
63 {
64 Color pixel = tex.GetPixel(num, num2);
65 picker.SelectColor(pixel);
66 }
67 }
68 else if (Input.GetMouseButtonDown(0))
69 {
70 first = true;
71 }
72 float axis = Input.GetAxis("Mouse ScrollWheel");
73 if (axis > 0f)
74 {
75 brushSize++;
76 }
77 if (axis < 0f)
78 {
79 brushSize--;
80 }
81 brushSize = Mathf.Clamp(brushSize, 1, 10);
82 int num3 = ((brushSize == 1) ? 1 : (1 + (brushSize - 1) * 2));
83 imageBrush.rectTransform.sizeDelta = new Vector2(num3 * scale + paddingBrush, num3 * scale + paddingBrush);
84 imageBrush.rectTransform.anchoredPosition = new Vector2(scale / 2 + num * scale, -size.y * scale + num2 * scale + scale / 2);
85 imageBrush.gameObject.SetActive(flag);
86 if (!Input.GetMouseButton(0))
87 {
88 first = false;
89 }
90 }
int brushSize
Definition: PixelPaint.cs:19
int paddingBrush
Definition: PixelPaint.cs:21
Image imageBrush
Definition: PixelPaint.cs:25
bool first
Definition: PixelPaint.cs:33
RawImage imageRect
Definition: PixelPaint.cs:7

References brushSize, Color, first, imageBrush, imageRect, paddingBrush, picker, scale, Empyrean.ColorPicker.ColorPicker.SelectColor(), Empyrean.ColorPicker.ColorPicker.SelectedColor, size, and tex.

Member Data Documentation

◆ bgColor

Color PixelPaint.bgColor

Definition at line 31 of file PixelPaint.cs.

Referenced by Init().

◆ brushSize

int PixelPaint.brushSize

Definition at line 19 of file PixelPaint.cs.

Referenced by Update().

◆ first

bool PixelPaint.first = true
private

Definition at line 33 of file PixelPaint.cs.

Referenced by Update().

◆ imageBrush

Image PixelPaint.imageBrush

Definition at line 25 of file PixelPaint.cs.

Referenced by Update().

◆ imageGrid

RawImage PixelPaint.imageGrid

Definition at line 9 of file PixelPaint.cs.

◆ imageMask

RawImage PixelPaint.imageMask

Definition at line 13 of file PixelPaint.cs.

Referenced by LayerPixelPaint.SetCanvas().

◆ imagePreview

RawImage PixelPaint.imagePreview

Definition at line 11 of file PixelPaint.cs.

Referenced by LayerPixelPaint.SetCanvas().

◆ imageRect

RawImage PixelPaint.imageRect

Definition at line 7 of file PixelPaint.cs.

Referenced by Update().

◆ paddingBrush

int PixelPaint.paddingBrush

Definition at line 21 of file PixelPaint.cs.

Referenced by Update().

◆ picker

ColorPicker PixelPaint.picker

Definition at line 27 of file PixelPaint.cs.

Referenced by Init(), and Update().

◆ scale

int PixelPaint.scale

Definition at line 17 of file PixelPaint.cs.

Referenced by Init(), and Update().

◆ size

Vector2Int PixelPaint.size

Definition at line 15 of file PixelPaint.cs.

Referenced by Init(), and Update().

◆ startColor

Color PixelPaint.startColor

Definition at line 29 of file PixelPaint.cs.

Referenced by Init().

◆ tex

Texture2D PixelPaint.tex

Definition at line 23 of file PixelPaint.cs.

Referenced by Fill(), Init(), OnDestroy(), LayerPixelPaint.SetCanvas(), and Update().


The documentation for this class was generated from the following file: