(Graphics g)
| 259 | } |
| 260 | |
| 261 | @Override |
| 262 | public void draw(Graphics g) { |
| 263 | float x = 0; |
| 264 | float y = 0; |
| 265 | float w = getWidth(); |
| 266 | float h = getHeight(); |
| 267 | |
| 268 | float cornerButtonWidth = w / 2; |
| 269 | float cornerButtonHeight = h * 1.5f; |
| 270 | float cornerTextOffsetX = cornerButtonWidth / 2; |
| 271 | float cornerTextOffsetY = (cornerButtonHeight - h) / 2; |
| 272 | |
| 273 | if (imgL.getTextureRegion() == null) { |
| 274 | //handle rendering buttons before textures loaded |
| 275 | FLabel.drawButtonBackground(g, w, h, imgL == FSkinImage.BTN_DOWN_LEFT); |
| 276 | } else { |
| 277 | //determine images to draw and text alignment based on which corner button is in (if any) |
| 278 | FSkinImage btnOverL = hdbuttonskin() ? FSkinImage.HDBTN_OVER_LEFT : FSkinImage.BTN_OVER_LEFT; |
| 279 | FSkinImage btnOverC = hdbuttonskin() ? FSkinImage.HDBTN_OVER_CENTER : FSkinImage.BTN_OVER_CENTER; |
| 280 | FSkinImage btnOverR = hdbuttonskin() ? FSkinImage.HDBTN_OVER_RIGHT : FSkinImage.BTN_OVER_RIGHT; |
| 281 | if (Forge.isMobileAdventureMode) { |
| 282 | btnOverL = FSkinImage.ADV_BTN_OVER_LEFT; |
| 283 | btnOverC = FSkinImage.ADV_BTN_OVER_CENTER; |
| 284 | btnOverR = FSkinImage.ADV_BTN_OVER_RIGHT; |
| 285 | } |
| 286 | switch (corner) { |
| 287 | case None: |
| 288 | if (w > 2 * h) { |
| 289 | g.drawImage(isHovered() && !pressed ? btnOverL : imgL, 0, 0, h, h); |
| 290 | g.drawImage(isHovered() && !pressed ? btnOverC : imgM, h, 0, w - (2 * h), h); |
| 291 | g.drawImage(isHovered() && !pressed ? btnOverR : imgR, w - h, 0, h, h); |
| 292 | } |
| 293 | else { |
| 294 | g.drawImage(isHovered() && !pressed ? btnOverL : imgL, 0, 0, cornerButtonWidth, h); |
| 295 | g.drawImage(isHovered() && !pressed ? btnOverR : imgR, cornerButtonWidth, 0, w - cornerButtonWidth, h); |
| 296 | } |
| 297 | x += PADDING; |
| 298 | w -= 2 * PADDING; |
| 299 | break; |
| 300 | case BottomLeft: |
| 301 | g.startClip(x, y, w, h); |
| 302 | g.drawImage(isHovered() && !pressed ? btnOverC : imgM, 0, 0, cornerButtonWidth, cornerButtonHeight); |
| 303 | g.drawImage(isHovered() && !pressed ? btnOverR : imgR, cornerButtonWidth, 0, cornerButtonWidth, cornerButtonHeight); |
| 304 | g.endClip(); |
| 305 | w -= cornerTextOffsetX; |
| 306 | y += cornerTextOffsetY; |
| 307 | h -= cornerTextOffsetY; |
| 308 | break; |
| 309 | case BottomRight: |
| 310 | g.startClip(x, y, w, h); |
| 311 | g.drawImage(isHovered() && !pressed ? btnOverL : imgL, 0, 0, cornerButtonWidth, cornerButtonHeight); |
| 312 | g.drawImage(isHovered() && !pressed ? btnOverC : imgM, cornerButtonWidth, 0, cornerButtonWidth, cornerButtonHeight); |
| 313 | g.endClip(); |
| 314 | x += cornerTextOffsetX; |
| 315 | w -= cornerTextOffsetX; |
| 316 | y += cornerTextOffsetY; |
| 317 | h -= cornerTextOffsetY; |
| 318 | break; |
nothing calls this directly
no test coverage detected