public override void draw(float w, float h) { // TODO: Update outside of draw. // TODO: Incorporate deltaTime. // TODO: Make smooth deltaTime variables. float headerFrac = .3f, menuFrac = 1 - headerFrac; GUIX.beginClip(new Rect(0, h * headerFrac, w, h * menuFrac)); menu.draw(w, h * menuFrac); GUIX.endClip(); // Draw BG. Rect bgRect = new Rect(0, 0, w, h * headerFrac); GUIX.beginClip(bgRect); GUIX.beginColor(Color.white); TextureUtility.drawTexture(bgRect, bg, AspectType.CROP_IN_REGION); GUIX.endColor(); GUIX.endClip(); // Draw logo. float aspect = TextureUtility.getAspectRatio(logo); float logoW = w / 3, logoH = logoW / aspect; Rect logoRegion = new Rect(w - logoW, 0, logoW, logoH); logoRegion = TextureUtility.drawTexture(logoRegion, logo, AspectType.FIT_IN_REGION); if (GUIX.didTapInsideRect(logoRegion)) { onClick(); Application.OpenURL("https://www.iusb.edu/civil-rights/"); } drawTouchRing(logoRegion); }
public override bool draw(float w, float h) { Rect rect = new Rect(0, 0, w, h); GUIX.fillRect(rect, color); if (GUIX.didTapInsideRect(rect)) { onClick(); return(true); } else { return(false); } }
public override bool draw(float w, float h) { Rect rect = TextureUtility.drawTexture(new Rect(0, 0, w, h), texture, color, aspectType); drawTouchRing(rect); if (GUIX.didTapInsideRect(rect)) { onClick(); return(true); } else { return(false); } }
public override bool draw(float w) { float x = 0, h = getPixelHeight(w); bool alreadyClicked = false; Rect position = new Rect(0, 0, w, h + 1); GUIX.fillRect(position, color); if (doXPad) { float pad = CrhcConstants.PADDING_H.getAs(NumberType.PIXELS); w -= 2 * pad; x += pad; } float y = 0; if (doYPadTop) { y += CrhcConstants.PADDING_V.getAs(NumberType.PIXELS); h -= CrhcConstants.PADDING_V.getAs(NumberType.PIXELS); } if (doYPadBottom) { h -= CrhcConstants.PADDING_V.getAs(NumberType.PIXELS); } IItem item; float totalPriority = 0, sw; foreach (Pair pair in items) { totalPriority += pair.priority; } foreach (Pair pair in items) { item = pair.item; sw = pair.priority / totalPriority * w; GUIX.beginClip(new Rect(x, y, sw, h)); alreadyClicked = item.draw(sw, h) || alreadyClicked; GUIX.endClip(); x += sw; } drawTouchRing(position); if (doSupercedeChildClick || !alreadyClicked) { if (GUIX.didTapInsideRect(position)) { onClick(); return(true); } else { return(false); } } else { return(false); } }