MCPcopy Create free account
hub / github.com/WheretIB/nullc / OnPaint

Function OnPaint

GUI/TabbedFiles.cpp:100–186  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

98 }
99
100 void OnPaint(HWND wnd)
101 {
102 TabbedFilesData *data = GetData(wnd);
103
104 if(!data->closeHandler)
105 ShowWindow(data->closeButton, SW_HIDE);
106
107 PAINTSTRUCT paintData;
108 HDC hdc = BeginPaint(wnd, &paintData);
109
110 SelectFont(hdc, data->mainFont);
111
112 unsigned int leftPos = 5;
113
114 SelectPen(hdc, data->brGray);
115 MoveToEx(hdc, 0, TAB_HEIGHT, NULL);
116 LineTo(hdc, data->width, TAB_HEIGHT);
117
118 for(unsigned int i = 0; i < data->tabCount + (data->newTab ? 1 : 0); i++)
119 {
120 RECT textRect = { 0, 0, 0, 0 };
121 if(data->tabInfo[i].last)
122 DrawText(hdc, data->tabInfo[i].last, (int)strlen(data->tabInfo[i].last), &textRect, DT_CALCRECT);
123
124 // Graphics
125 if(i == data->selectedTab)
126 {
127 SelectPen(hdc, data->brWhite);
128 MoveToEx(hdc, leftPos + 2, TAB_HEIGHT - 1, NULL);
129 LineTo(hdc, leftPos + 14, TAB_HEIGHT - 1);
130
131 SelectPen(hdc, data->brWhite);
132 for(int k = -1; k < 15; k++)
133 {
134 MoveToEx(hdc, leftPos + 2 + k, TAB_HEIGHT - 1 - k, NULL);
135 LineTo(hdc, leftPos + 21 + textRect.right, TAB_HEIGHT - 1 - k);
136 }
137 }else{
138 for(int k = 0; k < 15; k++)
139 {
140 SelectPen(hdc, data->brGradient[k]);
141 MoveToEx(hdc, i == 0 ? leftPos + 3 + k : max(leftPos + 3 + k, leftPos + 1 + 10), TAB_HEIGHT - 1 - k, NULL);
142 LineTo(hdc, leftPos + 21 + textRect.right, TAB_HEIGHT - 1 - k);
143 }
144
145 SelectPen(hdc, data->brWhite);
146 MoveToEx(hdc, leftPos + 11, TAB_HEIGHT - 10, NULL);
147 LineTo(hdc, leftPos + 14, TAB_HEIGHT - 13);
148 }
149
150 SelectPen(hdc, data->brGray);
151 if(i == data->selectedTab || i == 0)
152 MoveToEx(hdc, leftPos, TAB_HEIGHT, NULL);
153 else
154 MoveToEx(hdc, leftPos + 10, TAB_HEIGHT - 10, NULL);
155 LineTo(hdc, leftPos + 13, TAB_HEIGHT - 13);
156 LineTo(hdc, leftPos + 19, TAB_HEIGHT - 16);
157 LineTo(hdc, leftPos + 19 + textRect.right, TAB_HEIGHT - 16);

Callers 1

TabbedFilesProcMethod · 0.70

Calls 1

GetDataFunction · 0.70

Tested by

no test coverage detected