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

Public Member Functions

void Init ()
 
void OnChangeResolution ()
 
void RefreshSize ()
 
void Fill (Color color)
 
void OnChangeResolution ()
 

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

Vector2 lastSize
 
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 126 of file PixelPaint.cs.

127 {
128 int num = tex.GetPixels().Length;
129 Color[] array = new Color[num];
130 for (int i = 0; i < num; i++)
131 {
132 array[i] = color;
133 }
134 tex.SetPixels(array);
135 tex.Apply();
136 }
Texture2D tex
Definition: PixelPaint.cs:23

References Color, and tex.

Referenced by Init().

◆ Init()

void PixelPaint.Init ( )
inline

Definition at line 94 of file PixelPaint.cs.

95 {
96 tex = new Texture2D(size.x, size.y, TextureFormat.ARGB32, mipChain: false);
97 tex.filterMode = FilterMode.Point;
98 imagePreview.texture = tex;
99 imagePreview.rectTransform.sizeDelta = new Vector2(size.x * 2, size.y * 2);
100 imageRect.texture = tex;
101 Fill(bgColor);
102 RefreshSize();
103 picker.Init();
106 }
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:126
void RefreshSize()
Definition: PixelPaint.cs:113

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

Referenced by LayerPixelPaint.InitPaint().

◆ OnChangeResolution()

void PixelPaint.OnChangeResolution ( )
inline

Implements IChangeResolution.

Definition at line 108 of file PixelPaint.cs.

109 {
110 RefreshSize();
111 }

References RefreshSize().

◆ OnDestroy()

void PixelPaint.OnDestroy ( )
inlineprivate

Definition at line 138 of file PixelPaint.cs.

139 {
140 if ((bool)tex)
141 {
142 Object.Destroy(tex);
143 tex = null;
144 }
145 }

References tex.

◆ RefreshSize()

void PixelPaint.RefreshSize ( )
inline

Definition at line 113 of file PixelPaint.cs.

114 {
115 scale = (int)((float)(Screen.height - 200) / BaseCore.Instance.uiScale / (float)size.y);
116 Vector2 vector = new Vector2(size.x * scale, size.y * scale);
117 if (!(lastSize == vector))
118 {
119 imageRect.rectTransform.sizeDelta = vector;
120 imageGrid.rectTransform.sizeDelta = vector;
121 imageGrid.uvRect = new Rect(0f, 0f, size.x, size.y);
122 lastSize = vector;
123 }
124 }
virtual float uiScale
Definition: BaseCore.cs:46
static BaseCore Instance
Definition: BaseCore.cs:11
Vector2 lastSize
Definition: PixelPaint.cs:33

References BaseCore.Instance, lastSize, scale, size, and BaseCore.uiScale.

Referenced by Init(), and OnChangeResolution().

◆ Update()

void PixelPaint.Update ( )
inlineprivate

Definition at line 37 of file PixelPaint.cs.

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

◆ lastSize

Vector2 PixelPaint.lastSize
private

Definition at line 33 of file PixelPaint.cs.

Referenced by RefreshSize().

◆ 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 RefreshSize(), and Update().

◆ size

Vector2Int PixelPaint.size

Definition at line 15 of file PixelPaint.cs.

Referenced by Init(), RefreshSize(), 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: