Example usage for com.badlogic.gdx.scenes.scene2d.ui Table setClip

List of usage examples for com.badlogic.gdx.scenes.scene2d.ui Table setClip

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d.ui Table setClip.

Prototype

public void setClip(boolean enabled) 

Source Link

Document

Causes the contents to be clipped if they exceed the table actor's bounds.

Usage

From source file:com.forerunnergames.peril.client.ui.screens.game.play.modes.classic.dialogs.armymovement.AbstractArmyMovementDialog.java

License:Open Source License

protected AbstractArmyMovementDialog(final ClassicModePlayScreenWidgetFactory widgetFactory, final String title,
        final Stage stage, final DialogListener listener)

{
    // @formatter:off
    super(widgetFactory,
            DialogStyle.builder().windowStyle(StyleSettings.ARMY_MOVEMENT_DIALOG_WINDOW_STYLE).modal(false)
                    .movable(true).size(862, 484).position(481, ScreenSettings.REFERENCE_SCREEN_HEIGHT - 164)
                    .title(title).titleHeight(58).messageBox(false).border(28).buttonSize(90, 32).debug(DEBUG)
                    .build(),/*from  w w  w  . j  a  va 2s  .c o m*/
            stage, listener);
    // @formatter:on

    Arguments.checkIsNotNull(widgetFactory, "widgetFactory");
    Arguments.checkIsNotNull(stage, "stage");

    this.widgetFactory = widgetFactory;

    sourceCountryNameLabel = widgetFactory.createArmyMovementDialogCountryNameLabel();
    targetCountryNameLabel = widgetFactory.createArmyMovementDialogCountryNameLabel();

    slider = widgetFactory.createArmyMovementDialogSlider(new ChangeListener() {
        @Override
        public void changed(final ChangeEvent event, final Actor actor) {
            updateCountryArmies();
            updateSubmitability();
        }
    });

    minButton = widgetFactory.createArmyMovementDialogMinButton(new ClickListener(Input.Buttons.LEFT) {
        @Override
        public void clicked(final InputEvent event, final float x, final float y) {
            setSliderToMinValue();
        }
    });

    minusButton = widgetFactory.createArmyMovementDialogMinusButton(new ClickListener(Input.Buttons.LEFT) {
        @Override
        public void clicked(final InputEvent event, final float x, final float y) {
            decrementSlider();
        }
    });

    plusButton = widgetFactory.createArmyMovementDialogPlusButton(new ClickListener(Input.Buttons.LEFT) {
        @Override
        public void clicked(final InputEvent event, final float x, final float y) {
            incrementSlider();
        }
    });

    maxButton = widgetFactory.createArmyMovementDialogMaxButton(new ClickListener(Input.Buttons.LEFT) {
        @Override
        public void clicked(final InputEvent event, final float x, final float y) {
            setSliderToMaxValue();
        }
    });

    sourceCountryStack = new Stack();
    targetCountryStack = new Stack();
    sourceCountryStack.setDebug(DEBUG, true);
    targetCountryStack.setDebug(DEBUG, true);

    final Table sourceCountryStackTable = new Table();
    sourceCountryStackCell = sourceCountryStackTable.add(sourceCountryStack)
            .padRight(SOURCE_COUNTRY_ARROW_WIDTH);
    sourceCountryStackTable.setDebug(DEBUG, true);

    final Table targetCountryStackTable = new Table();
    targetCountryStackCell = targetCountryStackTable.add(targetCountryStack)
            .padLeft(TARGET_COUNTRY_ARROW_WIDTH);
    targetCountryStackTable.setDebug(DEBUG, true);

    final Table sourceCountryTable = new Table();
    sourceCountryTable.add(sourceCountryStackTable);
    sourceCountryTable.setClip(true);
    sourceCountryTable.setDebug(DEBUG, true);

    final Table targetCountryTable = new Table();
    targetCountryTable.add(targetCountryStackTable);
    targetCountryTable.setClip(true);
    targetCountryTable.setDebug(DEBUG, true);

    final Table countryTable = new Table().center();
    countryTable.add(sourceCountryTable).width(COUNTRY_BOX_WIDTH).maxHeight(COUNTRY_BOX_HEIGHT)
            .spaceRight(SOURCE_TARGET_COUNTRY_BOX_SPACING).padLeft(COUNTRY_BOX_INNER_PADDING)
            .padRight(COUNTRY_BOX_INNER_PADDING);
    countryTable.add(targetCountryTable).width(COUNTRY_BOX_WIDTH).maxHeight(COUNTRY_BOX_HEIGHT)
            .spaceLeft(SOURCE_TARGET_COUNTRY_BOX_SPACING).padLeft(COUNTRY_BOX_INNER_PADDING)
            .padRight(COUNTRY_BOX_INNER_PADDING);
    countryTable.setDebug(DEBUG, true);

    final Table sliderTable = new Table();
    sliderTable.add(minButton).width(20).spaceRight(7);
    sliderTable.add(minusButton).width(30).spaceLeft(7).spaceRight(10);
    sliderTable.add(slider).width(382).height(12).spaceLeft(10).spaceRight(10);
    sliderTable.add(plusButton).width(30).spaceLeft(10).spaceRight(7);
    sliderTable.add(maxButton).width(20).spaceLeft(7);
    sliderTable.setDebug(DEBUG, true);

    getContentTable().defaults().space(0).pad(0);
    getContentTable().top();
    getContentTable().row().size(COUNTRY_NAME_BOX_WIDTH, COUNTRY_NAME_BOX_HEIGHT).spaceBottom(1);
    getContentTable().add(sourceCountryNameLabel);
    getContentTable().add(targetCountryNameLabel);
    getContentTable().row().colspan(2).height(COUNTRY_BOX_HEIGHT).spaceTop(1);
    getContentTable().add(countryTable).padLeft(2).padRight(2).padTop(COUNTRY_BOX_INNER_PADDING - 2)
            .padBottom(COUNTRY_BOX_INNER_PADDING);
    getContentTable().row().colspan(2).top().padTop(29);
    getContentTable().add(sliderTable);

    addListener(new InputListener() {
        @Override
        public boolean keyDown(final InputEvent event, final int keycode) {
            if (!isShown())
                return false;

            switch (keycode) {
            case Input.Keys.LEFT: {
                decrementSlider();

                return true;
            }
            case Input.Keys.RIGHT: {
                incrementSlider();

                return true;
            }
            default: {
                return false;
            }
            }
        }
    });
}

From source file:com.forerunnergames.peril.client.ui.screens.game.play.modes.classic.dialogs.battle.AbstractBattleDialog.java

License:Open Source License

protected AbstractBattleDialog(final BattleDialogWidgetFactory widgetFactory, final String title,
        final Stage stage, final ScreenShaker screenShaker, final BattleDialogListener listener) {
    // @formatter:off
    super(widgetFactory,
            DialogStyle.builder().windowStyle(StyleSettings.BATTLE_DIALOG_WINDOW_STYLE).modal(false)
                    .movable(true).size(990, 432).position(405, ScreenSettings.REFERENCE_SCREEN_HEIGHT - 178)
                    .title(title).titleHeight(56).messageBox(false).border(28).buttonSpacing(16)
                    .buttonTextPaddingHorizontal(6).debug(DEBUG).build(),
            stage, listener);//from   w ww.  ja  va2  s .  c  om
    // @formatter:on

    Arguments.checkIsNotNull(widgetFactory, "widgetFactory");
    Arguments.checkIsNotNull(stage, "stage");
    Arguments.checkIsNotNull(screenShaker, "screenShaker");
    Arguments.checkIsNotNull(listener, "listener");

    this.widgetFactory = widgetFactory;
    this.screenShaker = screenShaker;
    this.listener = listener;

    attackingPlayerNameLabel = widgetFactory.createBattleDialogPlayerNameLabel();
    defendingPlayerNameLabel = widgetFactory.createBattleDialogPlayerNameLabel();
    attackingCountryNameLabel = widgetFactory.createBattleDialogCountryNameLabel();
    defendingCountryNameLabel = widgetFactory.createBattleDialogCountryNameLabel();
    battlingArrowLabel = widgetFactory.createBattleDialogBattlingArrowLabel();
    attackerDice = widgetFactory.createAttackerDice();
    defenderDice = widgetFactory.createDefenderDice();
    diceArrows = widgetFactory.createBattleDialogDiceArrows();
    attackingCountryArmyText = widgetFactory.createCountryArmyText();
    attackingCountryArmyTextEffects = widgetFactory.createAttackingCountryArmyTextEffects();
    defendingCountryArmyText = widgetFactory.createCountryArmyText();
    defendingCountryArmyTextEffects = widgetFactory.createDefendingCountryArmyTextEffects();
    battleSingleExplosionSoundEffect = widgetFactory.createBattleSingleExplosionSoundEffect();
    battleAmbienceSoundEffect = widgetFactory.createBattleAmbienceSoundEffect();

    attackingCountryStack = new Stack();
    defendingCountryStack = new Stack();

    final Table attackingCountryTable = new Table();
    attackingCountryTable.add(attackingCountryStack);
    attackingCountryTable.setClip(true);
    attackingCountryTable.setDebug(DEBUG, true);

    final Table defendingCountryTable = new Table();
    defendingCountryTable.add(defendingCountryStack);
    defendingCountryTable.setClip(true);
    defendingCountryTable.setDebug(DEBUG, true);

    final Table diceTable = new Table().pad(2);
    diceTable.add(attackerDice.asActor()).spaceRight(22).top();
    diceTable.add(defenderDice.asActor()).spaceLeft(22).top();
    diceTable.setDebug(DEBUG, true);

    final Table diceArrowsTable = new Table().top().padTop(10);
    diceArrowsTable.add(diceArrows.asActor());
    diceArrowsTable.setDebug(DEBUG, true);

    final Stack diceTableStack = new Stack();
    diceTableStack.add(diceTable);
    diceTableStack.add(diceArrowsTable);
    diceTableStack.setDebug(DEBUG, true);

    final Table leftTable = new Table().top().pad(2);
    leftTable.add(attackingPlayerNameLabel).size(PLAYER_NAME_BOX_WIDTH, PLAYER_NAME_BOX_HEIGHT).space(2);
    leftTable.row();
    leftTable.add(attackingCountryTable).size(COUNTRY_BOX_WIDTH, COUNTRY_BOX_HEIGHT)
            .padBottom(COUNTRY_BOX_INNER_PADDING + 3).space(2);
    leftTable.row();
    leftTable.add(attackingCountryNameLabel).size(COUNTRY_NAME_BOX_WIDTH, COUNTRY_NAME_BOX_HEIGHT).space(2);
    leftTable.setDebug(DEBUG, true);

    final Table centerTable = new Table().top().padTop(2).padBottom(2);
    centerTable.add(battlingArrowLabel).padRight(8)
            .padTop(24 - BATTLING_ARROW_LABEL_TEXT_VERTICAL_INNER_PADDING)
            .padBottom(51 + BATTLING_ARROW_LABEL_TEXT_VERTICAL_INNER_PADDING);
    centerTable.row();
    centerTable.add(diceTableStack).size(94, 116);
    centerTable.setDebug(DEBUG, true);

    final Table rightTable = new Table().top().pad(2);
    rightTable.add(defendingPlayerNameLabel).size(PLAYER_NAME_BOX_WIDTH, PLAYER_NAME_BOX_HEIGHT).space(2);
    rightTable.row();
    rightTable.add(defendingCountryTable).size(COUNTRY_BOX_WIDTH, COUNTRY_BOX_HEIGHT)
            .padBottom(COUNTRY_BOX_INNER_PADDING + 3).space(2);
    rightTable.row();
    rightTable.add(defendingCountryNameLabel).size(COUNTRY_NAME_BOX_WIDTH, COUNTRY_NAME_BOX_HEIGHT).space(2);
    rightTable.setDebug(DEBUG, true);

    getContentTable().defaults().space(0).pad(0);
    getContentTable().top();
    getContentTable().add(leftTable).size(404, 264);
    getContentTable().add(centerTable).size(126, 264);
    getContentTable().add(rightTable).size(404, 264);
    getContentTable().row();
}

From source file:com.ray3k.skincomposer.dialog.DialogColorPicker.java

License:Open Source License

public void populate() {
    content.clear();//from  w w w.  j a v  a 2  s.  c o  m
    content.defaults().padLeft(10.0f);

    Image cursor = new Image(skin.getDrawable("color-picker"));
    cursor.setTouchable(Touchable.enabled);
    Image hueKnob = new Image(skin, "color-scale");
    hueKnob.setTouchable(Touchable.enabled);
    Image hueKnob2 = new Image(skin, "color-scale-flipped");
    hueKnob2.setTouchable(Touchable.enabled);
    Image alphaKnob = new Image(skin, "color-scale");
    alphaKnob.setTouchable(Touchable.enabled);
    Image alphaKnob2 = new Image(skin, "color-scale-flipped");
    alphaKnob2.setTouchable(Touchable.enabled);

    Container selectedColorCont = new Container();
    selectedColorCont.setBackground(skin.getDrawable("white"));
    selectedColorCont.setColor(selectedColor);

    Vector3 v = rgbToHsb(selectedColor.r, selectedColor.g, selectedColor.b);

    Spinner greenSpinner, blueSpinner, alphaSpinner, hueSpinner, saturationSpinner, brightnessSpinner;

    hueSpinner = new Spinner(v.x * 359.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    hueSpinner.setMinimum(0.0);
    hueSpinner.setMaximum(359.0);
    hueSpinner.getTextField().addListener(main.getIbeamListener());
    hueSpinner.getButtonMinus().addListener(main.getHandListener());
    hueSpinner.getButtonPlus().addListener(main.getHandListener());

    saturationSpinner = new Spinner(v.y * 100.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    saturationSpinner.setMinimum(0.0);
    saturationSpinner.setMaximum(100.0);
    saturationSpinner.getTextField().addListener(main.getIbeamListener());
    saturationSpinner.getButtonMinus().addListener(main.getHandListener());
    saturationSpinner.getButtonPlus().addListener(main.getHandListener());

    brightnessSpinner = new Spinner(v.z * 100.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    brightnessSpinner.setMinimum(0.0);
    brightnessSpinner.setMaximum(100.0);
    brightnessSpinner.getTextField().addListener(main.getIbeamListener());
    brightnessSpinner.getButtonMinus().addListener(main.getHandListener());
    brightnessSpinner.getButtonPlus().addListener(main.getHandListener());

    redSpinner = new Spinner(selectedColor.r * 255.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    redSpinner.setMinimum(0.0);
    redSpinner.setMaximum(255.0);
    redSpinner.getTextField().addListener(main.getIbeamListener());
    redSpinner.getButtonMinus().addListener(main.getHandListener());
    redSpinner.getButtonPlus().addListener(main.getHandListener());

    greenSpinner = new Spinner(selectedColor.g * 255.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    greenSpinner.setMinimum(0.0);
    greenSpinner.setMaximum(255.0);
    greenSpinner.getTextField().addListener(main.getIbeamListener());
    greenSpinner.getButtonMinus().addListener(main.getHandListener());
    greenSpinner.getButtonPlus().addListener(main.getHandListener());

    blueSpinner = new Spinner(selectedColor.b * 255.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    blueSpinner.setMinimum(0.0);
    blueSpinner.setMaximum(255.0);
    blueSpinner.getTextField().addListener(main.getIbeamListener());
    blueSpinner.getButtonMinus().addListener(main.getHandListener());
    blueSpinner.getButtonPlus().addListener(main.getHandListener());

    alphaSpinner = new Spinner(selectedColor.a * 255.0f, 1.0, true, Orientation.HORIZONTAL, spinnerStyle);
    alphaSpinner.setMinimum(0.0);
    alphaSpinner.setMaximum(255.0);
    alphaSpinner.getTextField().addListener(main.getIbeamListener());
    alphaSpinner.getButtonMinus().addListener(main.getHandListener());
    alphaSpinner.getButtonPlus().addListener(main.getHandListener());

    redSpinner.setTransversalNext(greenSpinner.getTextField());
    greenSpinner.setTransversalNext(blueSpinner.getTextField());
    blueSpinner.setTransversalNext(alphaSpinner.getTextField());
    alphaSpinner.setTransversalNext(hueSpinner.getTextField());
    hueSpinner.setTransversalNext(saturationSpinner.getTextField());
    saturationSpinner.setTransversalNext(brightnessSpinner.getTextField());
    brightnessSpinner.setTransversalNext(redSpinner.getTextField());

    redSpinner.setTransversalPrevious(brightnessSpinner.getTextField());
    greenSpinner.setTransversalPrevious(redSpinner.getTextField());
    blueSpinner.setTransversalPrevious(greenSpinner.getTextField());
    alphaSpinner.setTransversalPrevious(blueSpinner.getTextField());
    hueSpinner.setTransversalPrevious(alphaSpinner.getTextField());
    saturationSpinner.setTransversalPrevious(hueSpinner.getTextField());
    brightnessSpinner.setTransversalPrevious(saturationSpinner.getTextField());

    ChangeListener rgbListener = new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            selectedColor.set((float) redSpinner.getValue() / 255.0f, (float) greenSpinner.getValue() / 255.0f,
                    (float) blueSpinner.getValue() / 255.0f, (float) alphaSpinner.getValue() / 255.0f);
            Vector3 v = rgbToHsb(selectedColor.r, selectedColor.g, selectedColor.b);
            hueSpinner.setValue(v.x * 359.0f);
            saturationSpinner.setValue(v.y * 100.0f);
            brightnessSpinner.setValue(v.z * 100.0f);
            selectedColorCont.setColor(selectedColor);

            Color color = hsbToRgb((float) hueSpinner.getValue(), 1.0f, 1.0f);
            gradientS.setCol2(color);
            gradientS.setCol3(color);
            gradientAlpha.setCol3(color);
            gradientAlpha.setCol4(color);
            color = new Color(color);
            color.a = 0.0f;
            gradientAlpha.setCol1(color);
            gradientAlpha.setCol2(color);

            cursor.setX(v.y * SIZE - cursor.getWidth() / 2.0f);
            cursor.setY(v.z * SIZE - cursor.getHeight() / 2.0f);
            hueKnob.setY(v.x * SIZE - hueKnob.getHeight() / 2.0f);
            hueKnob2.setY(hueKnob.getY());
        }
    };
    redSpinner.addListener(rgbListener);
    greenSpinner.addListener(rgbListener);
    blueSpinner.addListener(rgbListener);

    ChangeListener hsbListener = new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            Color color = hsbToRgb((float) hueSpinner.getValue(), (float) saturationSpinner.getValue() / 100.0f,
                    (float) brightnessSpinner.getValue() / 100.0f);
            color.a = (float) alphaSpinner.getValue() / 255.0f;
            redSpinner.setValue(color.r * 255.0f);
            greenSpinner.setValue(color.g * 255.0f);
            blueSpinner.setValue(color.b * 255.0f);
            selectedColor.set(color);
            selectedColorCont.setColor(selectedColor);

            color = hsbToRgb((float) hueSpinner.getValue(), 1.0f, 1.0f);
            gradientS.setCol2(color);
            gradientS.setCol3(color);
            gradientAlpha.setCol3(color);
            gradientAlpha.setCol4(color);
            color = new Color(color);
            color.a = 0.0f;
            gradientAlpha.setCol1(color);
            gradientAlpha.setCol2(color);

            cursor.setX((float) saturationSpinner.getValue() / 100.0f * SIZE - cursor.getWidth() / 2.0f);
            cursor.setY((float) brightnessSpinner.getValue() / 100.0f * SIZE - cursor.getHeight() / 2.0f);
            hueKnob.setY((float) hueSpinner.getValue() / 359.0f * SIZE - hueKnob.getHeight() / 2.0f);
            hueKnob2.setY(hueKnob.getY());
        }
    };
    hueSpinner.addListener(hsbListener);
    saturationSpinner.addListener(hsbListener);
    brightnessSpinner.addListener(hsbListener);

    alphaSpinner.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            selectedColor.set((float) redSpinner.getValue() / 255.0f, (float) greenSpinner.getValue() / 255.0f,
                    (float) blueSpinner.getValue() / 255.0f, (float) alphaSpinner.getValue() / 255.0f);
            selectedColorCont.setColor(selectedColor);

            alphaKnob.setY(selectedColor.a * SIZE - alphaKnob.getHeight() / 2.0f);
            alphaKnob2.setY(alphaKnob.getY());
        }
    });

    Table panel = new Table(skin);
    panel.setBackground("color-box");
    Table t = new Table(skin);
    t.setClip(true);
    t.setBackground(gradientSB);
    t.setTouchable(Touchable.enabled);
    cursor.setPosition(v.y * SIZE - cursor.getWidth() / 2.0f, v.z * SIZE - cursor.getHeight() / 2.0f);
    t.addActor(cursor);
    DragListener dragListener = new DragListener() {
        @Override
        public void drag(InputEvent event, float x, float y, int pointer) {
            saturationSpinner.setValue(MathUtils.clamp(x / SIZE * 100.0f, 0, 100));
            brightnessSpinner.setValue(MathUtils.clamp(y / SIZE * 100.0f, 0, 100));
            saturationSpinner.fire(new ChangeListener.ChangeEvent());
        }
    };
    dragListener.setTapSquareSize(1.0f);
    t.addListener(dragListener);

    t.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            saturationSpinner.setValue(MathUtils.clamp(x / SIZE * 100.0f, 0, 100));
            brightnessSpinner.setValue(MathUtils.clamp(y / SIZE * 100.0f, 0, 100));
            saturationSpinner.fire(new ChangeListener.ChangeEvent());

            return false;
        }
    });
    panel.add(t).size(SIZE, SIZE);
    content.add(panel);

    panel = new Table(skin);
    panel.setBackground("color-box");
    t = new Table(skin);
    t.setTouchable(Touchable.enabled);
    t.setClip(true);
    for (GradientDrawable gradient : hueGradient) {
        Container container = new Container();
        container.background(gradient);
        t.add(container).growX().height(50.0f);
        t.row();
    }
    t.addActor(hueKnob);
    t.addActor(hueKnob2);
    hueKnob.setY(v.x * SIZE - hueKnob.getHeight() / 2.0f);
    hueKnob2.setX(30.0f - hueKnob2.getWidth());
    hueKnob2.setY(v.x * SIZE - hueKnob2.getHeight() / 2.0f);
    dragListener = new DragListener() {
        @Override
        public void drag(InputEvent event, float x, float y, int pointer) {
            hueSpinner.setValue(MathUtils.clamp(y / SIZE * 359.0f, 0.0f, 359.0f));

            hueSpinner.fire(new ChangeListener.ChangeEvent());
        }
    };
    dragListener.setTapSquareSize(1.0f);
    t.addListener(dragListener);
    t.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            hueSpinner.setValue(MathUtils.clamp(y / SIZE * 359.0f, 0.0f, 359.0f));

            hueSpinner.fire(new ChangeListener.ChangeEvent());
            return false;
        }

    });
    panel.add(t).minWidth(30.0f).height(SIZE);
    content.add(panel);

    panel = new Table(skin);
    panel.setBackground("color-box");
    t = new Table();
    t.setTouchable(Touchable.enabled);
    t.setBackground(alphaStack);
    t.setClip(true);
    t.addActor(alphaKnob);
    t.addActor(alphaKnob2);
    alphaKnob.setY(selectedColor.a * SIZE - alphaKnob.getHeight() / 2.0f);
    alphaKnob2.setX(30.0f - alphaKnob2.getWidth());
    alphaKnob2.setY(selectedColor.a * SIZE - alphaKnob2.getHeight() / 2.0f);
    dragListener = new DragListener() {
        @Override
        public void drag(InputEvent event, float x, float y, int pointer) {
            alphaSpinner.setValue(MathUtils.clamp(y / SIZE * 255.0f, 0.0f, 255.0f));

            alphaSpinner.fire(new ChangeListener.ChangeEvent());
        }
    };
    dragListener.setTapSquareSize(1.0f);
    t.addListener(dragListener);
    t.addListener(new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            alphaSpinner.setValue(MathUtils.clamp(y / SIZE * 255.0f, 0.0f, 255.0f));

            alphaSpinner.fire(new ChangeListener.ChangeEvent());
            return false;
        }

    });
    panel.add(t).minWidth(30.0f).height(SIZE);
    content.add(panel);

    t = new Table();
    t.defaults().pad(10.0f);

    Table table = new Table(skin);
    Label label = new Label("new", skin);
    label.setAlignment(Align.center);
    table.add(label).growX();
    table.row();
    Container bg = new Container();
    bg.setBackground(checker);
    Stack stack = new Stack(bg, selectedColorCont);
    panel = new Table(skin);
    panel.setBackground("color-box");
    panel.add(stack).grow();
    table.add(panel).grow();
    if (previousColor != null) {
        Container cont = new Container();
        cont.setBackground(skin.getDrawable("white"));
        cont.setColor(previousColor);
        bg = new Container();
        bg.setBackground(checker);
        stack = new Stack(bg, cont);
        panel.row();
        panel.add(stack).grow();
        table.row();
        label = new Label("current", skin);
        label.setAlignment(Align.center);
        table.add(label).growX();
        t.add(table).minWidth(80.0f).minHeight(150.0f);
    } else {
        t.add(table).minWidth(80.0f).minHeight(100.0f);
    }

    table = new Table();
    TextButton textButton = new TextButton("OK", skin);
    textButton.addListener(main.getHandListener());
    textButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            if (listener != null) {
                listener.handle(new ColorListener.ColorEvent(selectedColor));
            }
            hide();
        }
    });
    table.add(textButton).growX();
    table.row();
    textButton = new TextButton("Cancel", skin);
    textButton.addListener(main.getHandListener());
    textButton.addListener(new ChangeListener() {
        @Override
        public void changed(ChangeListener.ChangeEvent event, Actor actor) {
            if (listener != null) {
                listener.handle(new ColorListener.ColorEvent(null));
            }
            hide();
        }
    });
    table.add(textButton).growX().padTop(10.0f);
    t.add(table);

    t.row();
    table = new Table();
    label = new Label("R", skin, "required");
    table.add(label);
    table.add(redSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    table = new Table();
    label = new Label("H", skin, "required");
    table.add(label);
    table.add(hueSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    t.row();
    table = new Table();
    label = new Label("G", skin, "required");
    table.add(label);
    table.add(greenSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    table = new Table();
    label = new Label("S", skin, "required");
    table.add(label);
    table.add(saturationSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    t.row();
    table = new Table();
    label = new Label("B", skin, "required");
    table.add(label);
    table.add(blueSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    table = new Table();
    label = new Label("B", skin, "required");
    table.add(label);
    table.add(brightnessSpinner).padLeft(10.0f).minWidth(90.0f);
    t.add(table);

    t.row();
    table = new Table();
    label = new Label("A", skin, "required");
    table.add(label);
    t.add(table);
    table.add(alphaSpinner).padLeft(10.0f).minWidth(90.0f);
    content.add(t).growY();
}

From source file:net.mwplay.cocostudio.ui.parser.group.CCPanel.java

License:Apache License

@Override
public Actor parse(CocoStudioUIEditor editor, ObjectData widget) {
    Table table = new Table();

    Size size = widget.getSize();/*from ww  w.  j  a va 2  s .c om*/
    if (widget.getComboBoxIndex() == 0) { // 

    } else if (widget.getComboBoxIndex() == 1 && widget.getBackColorAlpha() != 0) {// ?
        Pixmap pixmap = new Pixmap((int) size.getX(), (int) size.getY(), Format.RGBA8888);

        pixmap.setColor(editor.getColor(widget.getSingleColor(), widget.getBackColorAlpha()));

        pixmap.fill();

        Drawable d = new TextureRegionDrawable(new TextureRegion(new Texture(pixmap)));
        table.setBackground(d);
        pixmap.dispose();
    }

    if (widget.getFileData() != null) {// Panel?!!.
        Drawable tr = editor.findDrawable(widget, widget.getFileData());
        if (tr != null) {
            Image bg = new Image(tr);
            bg.setPosition((size.getX() - bg.getWidth()) / 2, (size.getY() - bg.getHeight()) / 2);
            // bg.setFillParent(true);
            bg.setTouchable(Touchable.disabled);

            table.addActor(bg);
        }
    }

    table.setClip(widget.isClipAble());

    return table;
}

From source file:net.mwplay.cocostudio.ui.parser.WidgetParser.java

License:Apache License

/**
 * ??//from  w  ww  . j av a 2s  .co m
 */
public Group widgetChildrenParse(CocoStudioUIEditor editor, ObjectData widget, Group parent, Actor actor) {
    Table table = new Table();
    table.setClip(widget.isClipAble());
    table.setName(actor.getName());

    Scale scale = widget.getScale();

    if (scale != null) {
        table.setScale(scale.getScaleX(), scale.getScaleY());
    }

    table.setRotation(actor.getRotation());
    table.setVisible(actor.isVisible());

    table.setTouchable(widget.isTouchEnable() ? Touchable.enabled : Touchable.childrenOnly);

    // editor.getActors().get(actor.getName()).removeValue(actor, true);
    //
    // addActor(editor, table, option);

    actor.setVisible(true);
    actor.setTouchable(Touchable.disabled);

    if (scale != null || widget.getRotation() != 0) {
        table.setTransform(true);
    }

    table.setSize(actor.getWidth(), actor.getHeight());
    table.setPosition(actor.getX(), actor.getY());

    // ?

    Scale anchorPoint = widget.getAnchorPoint();
    if (anchorPoint != null) {

        table.setOrigin(anchorPoint.getScaleX() * table.getWidth(),
                anchorPoint.getScaleY() * table.getHeight());
    }
    for (ObjectData childrenWidget : widget.getChildren()) {
        Actor childrenActor = editor.parseWidget(table, childrenWidget);
        if (childrenActor == null) {
            continue;
        }
        table.addActor(childrenActor);
    }
    sort(widget, table);

    // Widget?Table??.Widget?Table
    actor.setPosition(0, 0);
    actor.setScale(1, 1);
    table.addActorAt(0, actor);
    return table;
}