List of usage examples for com.badlogic.gdx.scenes.scene2d.utils Drawable getBottomHeight
public float getBottomHeight();
From source file:CB_UI.GL_UI.Views.splash.java
License:Open Source License
/** * Step 1 <br>// w w w. j a v a 2 s . co m * add Progressbar */ private void ini_Progressbar() { float ref = UI_Size_Base.that.getWindowHeight() / 13; CB_RectF CB_LogoRec = new CB_RectF(this.getHalfWidth() - (ref * 2.5f), this.getHeight() - ((ref * 5) / 4.11f) - ref, ref * 5, (ref * 5) / 4.11f); CB_Logo = new Image(CB_LogoRec, "CB_Logo", false); CB_Logo.setDrawable(new SpriteDrawable(atlas.createSprite("cachebox-logo"))); Label dummy = new Label(); this.initRow(); this.addLast(dummy); this.addNext(dummy); this.addNext(CB_Logo, FIXED); this.addLast(dummy); String VersionString = GlobalCore.getVersionString(); descTextView = new Label(VersionString + GlobalCore.br + GlobalCore.br + GlobalCore.splashMsg, null, null, WrapType.MULTILINE).setHAlignment(HAlignment.CENTER); descTextView.setHeight(descTextView.getTextHeight()); this.addLast(descTextView); Drawable ProgressBack = new NinePatchDrawable(atlas.createPatch(IconName.btnNormal.name())); Drawable ProgressFill = new NinePatchDrawable(atlas.createPatch("progress")); float ProgressHeight = Math.max(ProgressBack.getBottomHeight() + ProgressBack.getTopHeight(), ref / 1.5f); progress = new ProgressBar(new CB_RectF(0, 0, this.getWidth(), ProgressHeight), "Splash.ProgressBar"); progress.setBackground(ProgressBack); progress.setProgressFill(ProgressFill); this.addChild(progress); float logoCalcRef = ref * 1.5f; CB_RectF rec_GC_Logo = new CB_RectF(20, 50, logoCalcRef, logoCalcRef); CB_RectF rec_Mapsforge_Logo = new CB_RectF(200, 50, logoCalcRef, logoCalcRef / 1.142f); CB_RectF rec_FX2_Logo = new CB_RectF(rec_Mapsforge_Logo); CB_RectF rec_LibGdx_Logo = new CB_RectF(20, 50, logoCalcRef * 4.17f * 0.8f, logoCalcRef * 0.8f); CB_RectF rec_OSM = new CB_RectF(rec_Mapsforge_Logo); CB_RectF rec_Route = new CB_RectF(rec_Mapsforge_Logo); rec_FX2_Logo.setX(400); GC_Logo = new Image(rec_GC_Logo, "GC_Logo", false); GC_Logo.setDrawable(new SpriteDrawable(atlas.createSprite("gc_live"))); Mapsforge_Logo = new Image(rec_Mapsforge_Logo, "Mapsforge_Logo", false); Mapsforge_Logo.setDrawable(new SpriteDrawable(atlas.createSprite("mapsforge_logo"))); LibGdx_Logo = new Image(rec_LibGdx_Logo, "LibGdx_Logo", false); LibGdx_Logo.setDrawable(new SpriteDrawable(atlas.createSprite("libgdx"))); Route_Logo = new Image(rec_OSM, "Route_Logo", false); Route_Logo.setDrawable(new SpriteDrawable(atlas.createSprite("openrouteservice_logo"))); OSM_Logo = new Image(rec_Route, "OSM_Logo", false); OSM_Logo.setDrawable(new SpriteDrawable(atlas.createSprite("osm_logo"))); float yPos = descTextView.getY() - GC_Logo.getHeight(); float xPos = (this.getWidth() - ref - GC_Logo.getWidth() - Mapsforge_Logo.getWidth()) / 2; GC_Logo.setPos(xPos, yPos); xPos += GC_Logo.getWidth() + ref; Mapsforge_Logo.setPos(xPos, yPos); xPos += Mapsforge_Logo.getWidth() + ref; yPos -= GC_Logo.getHeight();// + refHeight; LibGdx_Logo.setPos(this.getHalfWidth() - LibGdx_Logo.getHalfWidth(), yPos); yPos -= GC_Logo.getHeight();// xPos = (this.getWidth() - (ref) - Route_Logo.getWidth() - OSM_Logo.getWidth()) / 2; Route_Logo.setPos(xPos, yPos); xPos += Route_Logo.getWidth() + ref; OSM_Logo.setPos(xPos, yPos); this.addChild(GC_Logo); this.addChild(Mapsforge_Logo); this.addChild(LibGdx_Logo); this.addChild(Route_Logo); this.addChild(OSM_Logo); }
From source file:CB_UI_Base.GL_UI.GL_View_Base.java
License:Open Source License
/** * * setting the drawableBackground and changes the Borders (do own Borders afterwards) **//* w w w. ja v a 2 s. c o m*/ public void setBackground(Drawable background) { if (isDisposed) return; drawableBackground = background; if (background != null) { leftBorder = background.getLeftWidth(); rightBorder = background.getRightWidth(); topBorder = background.getTopHeight(); bottomBorder = background.getBottomHeight(); // this.BottomHeight; } else { leftBorder = 0; rightBorder = 0; topBorder = 0; bottomBorder = 0; // this.BottomHeight; } innerWidth = getWidth() - leftBorder - rightBorder; innerHeight = getHeight() - topBorder - bottomBorder; }
From source file:CB_UI_Base.GL_UI.utils.EmptyDrawable.java
License:Apache License
/** Creates a new empty drawable with the same sizing information as the specified drawable. */ public EmptyDrawable(Drawable drawable) { leftWidth = drawable.getLeftWidth(); rightWidth = drawable.getRightWidth(); topHeight = drawable.getTopHeight(); bottomHeight = drawable.getBottomHeight(); minWidth = drawable.getMinWidth();/* ww w .ja v a2 s . com*/ minHeight = drawable.getMinHeight(); }
From source file:com.anstrat.gui.SnapScrollPane.java
License:Apache License
public void layout() { final Drawable bg = style.background; final Drawable hScrollKnob = style.hScrollKnob; final Drawable vScrollKnob = style.vScrollKnob; float bgLeftWidth = 0, bgRightWidth = 0, bgTopHeight = 0, bgBottomHeight = 0; if (bg != null) { bgLeftWidth = bg.getLeftWidth(); bgRightWidth = bg.getRightWidth(); bgTopHeight = bg.getTopHeight(); bgBottomHeight = bg.getBottomHeight(); }/*from w w w.j a v a 2 s. c o m*/ float width = getWidth(); float height = getHeight(); float scrollbarHeight = 0; if (hScrollKnob != null) scrollbarHeight = hScrollKnob.getMinHeight(); if (style.hScroll != null) scrollbarHeight = Math.max(scrollbarHeight, style.hScroll.getMinHeight()); float scrollbarWidth = 0; if (vScrollKnob != null) scrollbarWidth = vScrollKnob.getMinWidth(); if (style.vScroll != null) scrollbarWidth = Math.max(scrollbarWidth, style.vScroll.getMinWidth()); // Get available space size by subtracting background's padded area. areaWidth = width - bgLeftWidth - bgRightWidth; areaHeight = height - bgTopHeight - bgBottomHeight; if (widget == null) return; // Get widget's desired width. float widgetWidth, widgetHeight; if (widget instanceof Layout) { Layout layout = (Layout) widget; widgetWidth = layout.getPrefWidth(); widgetHeight = layout.getPrefHeight(); } else { widgetWidth = widget.getWidth(); widgetHeight = widget.getHeight(); } // Determine if horizontal/vertical scrollbars are needed. scrollX = forceOverscrollX || (widgetWidth > areaWidth && !disableX); scrollY = forceOverscrollY || (widgetHeight > areaHeight && !disableY); boolean fade = fadeScrollBars; if (!fade) { // Check again, now taking into account the area that's taken up by any enabled scrollbars. if (scrollY) { areaWidth -= scrollbarWidth; if (!scrollX && widgetWidth > areaWidth && !disableX) { scrollX = true; } } if (scrollX) { areaHeight -= scrollbarHeight; if (!scrollY && widgetHeight > areaHeight && !disableY) { scrollY = true; areaWidth -= scrollbarWidth; } } } // Set the widget area bounds. widgetAreaBounds.set(bgLeftWidth, bgBottomHeight, areaWidth, areaHeight); if (fade) { // Make sure widget is drawn under fading scrollbars. if (scrollX) areaHeight -= scrollbarHeight; if (scrollY) areaWidth -= scrollbarWidth; } else { if (scrollbarsOnTop) { // Make sure widget is drawn under non-fading scrollbars. if (scrollX) widgetAreaBounds.height += scrollbarHeight; if (scrollY) widgetAreaBounds.width += scrollbarWidth; } else { // Offset widget area y for horizontal scrollbar. if (scrollX) widgetAreaBounds.y += scrollbarHeight; } } // If the widget is smaller than the available space, make it take up the available space. widgetWidth = disableX ? width : Math.max(areaWidth, widgetWidth); widgetHeight = disableY ? height : Math.max(areaHeight, widgetHeight); maxX = widgetWidth - areaWidth; maxY = widgetHeight - areaHeight; if (fade) { // Make sure widget is drawn under fading scrollbars. if (scrollX) maxY -= scrollbarHeight; if (scrollY) maxX -= scrollbarWidth; } amountX = MathUtils.clamp(amountX, 0, maxX); amountY = MathUtils.clamp(amountY, 0, maxY); // Set the bounds and scroll knob sizes if scrollbars are needed. if (scrollX) { if (hScrollKnob != null) { float hScrollHeight = style.hScroll != null ? style.hScroll.getMinHeight() : hScrollKnob.getMinHeight(); hScrollBounds.set(bgLeftWidth, bgBottomHeight, areaWidth, hScrollHeight); hKnobBounds.width = Math.max(hScrollKnob.getMinWidth(), (int) (hScrollBounds.width * areaWidth / widget.getWidth())); hKnobBounds.height = hScrollKnob.getMinHeight(); hKnobBounds.x = hScrollBounds.x + (int) ((hScrollBounds.width - hKnobBounds.width) * getScrollPercentX()); hKnobBounds.y = hScrollBounds.y; } else { hScrollBounds.set(0, 0, 0, 0); hKnobBounds.set(0, 0, 0, 0); } } if (scrollY) { if (vScrollKnob != null) { float vScrollWidth = style.vScroll != null ? style.vScroll.getMinWidth() : vScrollKnob.getMinWidth(); vScrollBounds.set(width - bgRightWidth - vScrollWidth, height - bgTopHeight - areaHeight, vScrollWidth, areaHeight); vKnobBounds.width = vScrollKnob.getMinWidth(); vKnobBounds.height = Math.max(vScrollKnob.getMinHeight(), (int) (vScrollBounds.height * areaHeight / widgetHeight)); vKnobBounds.x = width - bgRightWidth - vScrollKnob.getMinWidth(); vKnobBounds.y = vScrollBounds.y + (int) ((vScrollBounds.height - vKnobBounds.height) * (1 - getScrollPercentY())); } else { vScrollBounds.set(0, 0, 0, 0); vKnobBounds.set(0, 0, 0, 0); } } if (widget.getWidth() != widgetWidth || widget.getHeight() != widgetHeight) { widget.setWidth(widgetWidth); widget.setHeight(widgetHeight); if (widget instanceof Layout) { Layout layout = (Layout) widget; layout.invalidate(); layout.validate(); } } else { if (widget instanceof Layout) ((Layout) widget).validate(); } }
From source file:com.bladecoder.engineeditor.ui.components.CellRenderer.java
License:Apache License
public void layout(CustomListStyle style) { this.style = style; BitmapFont font = style.font;/*from w w w. j av a 2 s . c o m*/ Drawable selectedDrawable = style.selection; textOffsetX = selectedDrawable.getLeftWidth(); textOffsetY = selectedDrawable.getTopHeight() - font.getDescent(); itemHeight = font.getCapHeight() - font.getDescent() * 2; if (hasSubtitle()) { itemHeight += style.subtitleFont.getCapHeight() - style.subtitleFont.getDescent() * 2; ; } itemHeight += selectedDrawable.getTopHeight() + selectedDrawable.getBottomHeight(); }
From source file:com.bladecoder.engineeditor.ui.components.CustomList.java
License:Apache License
public void layout() { final BitmapFont font = style.font; final BitmapFont subfont = style.subtitleFont; final Drawable selectedDrawable = style.selection; cellRenderer.layout(style);// www . j a v a 2 s .c om GlyphLayout textLayout = new GlyphLayout(); prefWidth = 0; for (int i = 0; i < items.size; i++) { textLayout.setText(font, cellRenderer.getCellTitle(items.get(i))); prefWidth = Math.max(textLayout.width, prefWidth); if (cellRenderer.hasImage()) { TextureRegion r = cellRenderer.getCellImage(items.get(i)); float ih = r.getRegionHeight(); float iw = r.getRegionWidth(); if (ih > getItemHeight() - 10) { ih = getItemHeight() - 10; iw *= ih / r.getRegionHeight(); } prefWidth = Math.max(iw + textLayout.width, prefWidth); } if (cellRenderer.hasSubtitle()) { String subtitle = cellRenderer.getCellSubTitle(items.get(i)); if (subtitle != null) { textLayout.setText(subfont, subtitle); prefWidth = Math.max(textLayout.width, prefWidth); } } } prefWidth += selectedDrawable.getLeftWidth() + selectedDrawable.getRightWidth(); prefHeight = items.size * cellRenderer.getItemHeight(); Drawable background = style.background; if (background != null) { prefWidth += background.getLeftWidth() + background.getRightWidth(); prefHeight += background.getTopHeight() + background.getBottomHeight(); } }
From source file:com.calanti.androidnativekeyboardinputtest.libgdxModified_1_9_3.CalTextField.java
License:Apache License
protected float getTextY(BitmapFont font, Drawable background) { float height = getHeight(); float textY = textHeight / 2 + font.getDescent(); if (background != null) { float bottom = background.getBottomHeight(); textY = textY + (height - background.getTopHeight() - bottom) / 2 + bottom; } else {//from w w w. ja va 2 s. c o m textY = textY + height / 2; } if (font.usesIntegerPositions()) textY = (int) textY; return textY; }
From source file:com.idp.engine.ui.graphics.actors.TextArea.java
@Override protected void sizeChanged() { lastText = null; // Cause calculateOffsets to recalculate the line breaks. // The number of lines showed must be updated whenever the height is updated BitmapFont font = getStyle().font;/*from w ww. ja v a 2s . c o m*/ Drawable background = getStyle().background; float availableHeight = getHeight() - (background == null ? 0 : background.getBottomHeight() + background.getTopHeight()); linesShowing = (int) Math.floor(availableHeight / font.getLineHeight()); }
From source file:com.kotcrab.vis.ui.widget.VisTextArea.java
License:Apache License
@Override protected void sizeChanged() { lastText = null; // Cause calculateOffsets to recalculate the line breaks. // The number of lines showed must be updated whenever the height is updated BitmapFont font = style.font;// ww w .j a v a 2 s. c o m Drawable background = style.background; float availableHeight = getHeight() - (background == null ? 0 : background.getBottomHeight() + background.getTopHeight()); linesShowing = (int) Math.floor(availableHeight / font.getLineHeight()); }
From source file:com.meizu.taskmanager.ui.ScrollPane.java
License:Apache License
public void layout() { final Drawable bg = style.background; final Drawable hScrollKnob = style.hScrollKnob; final Drawable vScrollKnob = style.vScrollKnob; float bgLeftWidth = 0, bgRightWidth = 0, bgTopHeight = 0, bgBottomHeight = 0; if (bg != null) { bgLeftWidth = bg.getLeftWidth(); bgRightWidth = bg.getRightWidth(); bgTopHeight = bg.getTopHeight(); bgBottomHeight = bg.getBottomHeight(); }//from ww w .j a va2s .c o m float width = getWidth(); float height = getHeight(); float scrollbarHeight = 0; if (hScrollKnob != null) scrollbarHeight = hScrollKnob.getMinHeight(); if (style.hScroll != null) scrollbarHeight = Math.max(scrollbarHeight, style.hScroll.getMinHeight()); float scrollbarWidth = 0; if (vScrollKnob != null) scrollbarWidth = vScrollKnob.getMinWidth(); if (style.vScroll != null) scrollbarWidth = Math.max(scrollbarWidth, style.vScroll.getMinWidth()); // Get available space size by subtracting background's padded area. areaWidth = width - bgLeftWidth - bgRightWidth; areaHeight = height - bgTopHeight - bgBottomHeight; if (widget == null) return; // Get widget's desired width. float widgetWidth, widgetHeight; if (widget instanceof Layout) { Layout layout = (Layout) widget; widgetWidth = layout.getPrefWidth(); widgetHeight = layout.getPrefHeight(); } else { widgetWidth = widget.getWidth(); widgetHeight = widget.getHeight(); } // Determine if horizontal/vertical scrollbars are needed. scrollX = forceScrollX || (widgetWidth > areaWidth && !disableX); scrollY = forceScrollY || (widgetHeight > areaHeight && !disableY); boolean fade = fadeScrollBars; if (!fade) { // Check again, now taking into account the area that's taken up by any enabled scrollbars. if (scrollY) { areaWidth -= scrollbarWidth; if (!scrollX && widgetWidth > areaWidth && !disableX) scrollX = true; } if (scrollX) { areaHeight -= scrollbarHeight; if (!scrollY && widgetHeight > areaHeight && !disableY) { scrollY = true; areaWidth -= scrollbarWidth; } } } // The bounds of the scrollable area for the widget. widgetAreaBounds.set(bgLeftWidth, bgBottomHeight, areaWidth, areaHeight); if (fade) { // Make sure widget is drawn under fading scrollbars. if (scrollX && scrollY) { areaHeight -= scrollbarHeight; areaWidth -= scrollbarWidth; } } else { if (scrollbarsOnTop) { // Make sure widget is drawn under non-fading scrollbars. if (scrollX) widgetAreaBounds.height += scrollbarHeight; if (scrollY) widgetAreaBounds.width += scrollbarWidth; } else { // Offset widget area y for horizontal scrollbar at bottom. if (scrollX && hScrollOnBottom) widgetAreaBounds.y += scrollbarHeight; // Offset widget area x for vertical scrollbar at left. if (scrollY && !vScrollOnRight) widgetAreaBounds.x += scrollbarWidth; } } // If the widget is smaller than the available space, make it take up the available space. widgetWidth = disableX ? areaWidth : Math.max(areaWidth, widgetWidth); widgetHeight = disableY ? areaHeight : Math.max(areaHeight, widgetHeight); maxX = widgetWidth - areaWidth; maxY = widgetHeight - areaHeight; if (fade) { // Make sure widget is drawn under fading scrollbars. if (scrollX) maxY -= scrollbarHeight; if (scrollY) maxX -= scrollbarWidth; } scrollX(MathUtils.clamp(amountX, 0, maxX)); scrollY(MathUtils.clamp(amountY, 0, maxY)); // Set the bounds and scroll knob sizes if scrollbars are needed. if (scrollX) { if (hScrollKnob != null) { float hScrollHeight = style.hScroll != null ? style.hScroll.getMinHeight() : hScrollKnob.getMinHeight(); // The corner gap where the two scroll bars intersect might have to flip from right to left. float boundsX = vScrollOnRight ? bgLeftWidth : bgLeftWidth + scrollbarWidth; // Scrollbar on the top or bottom. float boundsY = hScrollOnBottom ? bgBottomHeight : height - bgTopHeight - hScrollHeight; hScrollBounds.set(boundsX, boundsY, areaWidth, hScrollHeight); if (variableSizeKnobs) hKnobBounds.width = Math.max(hScrollKnob.getMinWidth(), (int) (hScrollBounds.width * areaWidth / widgetWidth)); else hKnobBounds.width = hScrollKnob.getMinWidth(); hKnobBounds.height = hScrollKnob.getMinHeight(); hKnobBounds.x = hScrollBounds.x + (int) ((hScrollBounds.width - hKnobBounds.width) * getScrollPercentX()); hKnobBounds.y = hScrollBounds.y; } else { hScrollBounds.set(0, 0, 0, 0); hKnobBounds.set(0, 0, 0, 0); } } if (scrollY) { if (vScrollKnob != null) { float vScrollWidth = style.vScroll != null ? style.vScroll.getMinWidth() : vScrollKnob.getMinWidth(); // the small gap where the two scroll bars intersect might have to flip from bottom to top float boundsX, boundsY; if (hScrollOnBottom) { boundsY = height - bgTopHeight - areaHeight; } else { boundsY = bgBottomHeight; } // bar on the left or right if (vScrollOnRight) { boundsX = width - bgRightWidth - vScrollWidth; } else { boundsX = bgLeftWidth; } vScrollBounds.set(boundsX, boundsY, vScrollWidth, areaHeight); vKnobBounds.width = vScrollKnob.getMinWidth(); if (variableSizeKnobs) vKnobBounds.height = Math.max(vScrollKnob.getMinHeight(), (int) (vScrollBounds.height * areaHeight / widgetHeight)); else vKnobBounds.height = vScrollKnob.getMinHeight(); if (vScrollOnRight) { vKnobBounds.x = width - bgRightWidth - vScrollKnob.getMinWidth(); } else { vKnobBounds.x = bgLeftWidth; } vKnobBounds.y = vScrollBounds.y + (int) ((vScrollBounds.height - vKnobBounds.height) * (1 - getScrollPercentY())); } else { vScrollBounds.set(0, 0, 0, 0); vKnobBounds.set(0, 0, 0, 0); } } widget.setSize(widgetWidth, widgetHeight); if (widget instanceof Layout) ((Layout) widget).validate(); }