亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cpbrushpalette.java

?? this is best wamp jkbkgnkldjkb jkfbjdksgkjl bjkgsbkjfdb gjdsblkj gbfkjsd
?? JAVA
字號:
/*
	ChibiPaint
    Copyright (c) 2006-2008 Marc Schefer

    This file is part of ChibiPaint.

    ChibiPaint is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    ChibiPaint is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with ChibiPaint. If not, see <http://www.gnu.org/licenses/>.

 */

package chibipaint.gui;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

import chibipaint.*;
import chibipaint.engine.*;

public class CPBrushPalette extends CPPalette implements CPController.ICPToolListener, ActionListener {

	CPAlphaSlider alphaSlider;
	CPSizeSlider sizeSlider;

	CPCheckBox alphaCB, sizeCB, scatteringCB;
	CPSlider resatSlider, bleedSlider, spacingSlider, scatteringSlider, smoothingSlider;

	JComboBox tipCombo;
	String tipNames[] = { "Round Pixelated", "Round Hard Edge", "Round Soft", "Square Pixelated", "Square Hard Edge" };

	@SuppressWarnings("serial")
	public CPBrushPalette(CPController ctrlr) {
		super(ctrlr);

		setSize(160, 270);

		title = "Brush";
		// setBounds(getInnerDimensions());

		setLayout(null);

		alphaSlider = new CPAlphaSlider();
		alphaSlider.setLocation(20, 120);
		alphaSlider.setSize(130, 16);
		add(alphaSlider);

		CPBrushPreview brushPreview = new CPBrushPreview();
		brushPreview.setLocation(5, 25);
		add(brushPreview);

		// Label l = new Label("Opacity: ");
		// c.add(l);
		// l.setLocation(5, 70);

		alphaCB = new CPAlphaCB();
		alphaCB.setLocation(2, 120);
		alphaCB.setSize(16, 16);
		add(alphaCB);

		sizeSlider = new CPSizeSlider();
		sizeSlider.setLocation(20, 95);
		sizeSlider.setSize(130, 16);
		add(sizeSlider);

		sizeCB = new CPSizeCB();
		sizeCB.setLocation(2, 95);
		sizeCB.setSize(16, 16);
		add(sizeCB);

		tipCombo = new JComboBox(tipNames);
		tipCombo.addActionListener(this);
		tipCombo.setLocation(5, 5);
		tipCombo.setSize(120, 16);
		add(tipCombo);

		resatSlider = new CPSlider(100) {

			public void onValueChange() {
				controller.getBrushInfo().resat = value / 100f;
				controller.callToolListeners();
				title = "Color: " + value + "%";
			}
		};
		resatSlider.setLocation(20, 145);
		resatSlider.setSize(130, 16);
		add(resatSlider);

		bleedSlider = new CPSlider(100) {

			public void onValueChange() {
				controller.getBrushInfo().bleed = value / 100f;
				controller.callToolListeners();
				title = "Blend: " + value + "%";
			}
		};
		bleedSlider.setLocation(20, 170);
		bleedSlider.setSize(130, 16);
		add(bleedSlider);

		spacingSlider = new CPSlider(100) {

			public void onValueChange() {
				controller.getBrushInfo().spacing = value / 100f;
				controller.callToolListeners();
				title = "Spacing: " + value + "%";
			}
		};
		spacingSlider.setLocation(20, 195);
		spacingSlider.setSize(130, 16);
		add(spacingSlider);

		scatteringCB = new CPCheckBox() {

			public void onValueChange() {
				controller.getBrushInfo().pressureScattering = state;
				controller.callToolListeners();
			}
		};
		scatteringCB.setLocation(2, 220);
		scatteringCB.setSize(16, 16);
		add(scatteringCB);

		scatteringSlider = new CPSlider(1000) {

			public void onValueChange() {
				controller.getBrushInfo().scattering = value / 100f;
				controller.callToolListeners();
				title = "Scattering: " + value + "%";
			}
		};
		scatteringSlider.setLocation(20, 220);
		scatteringSlider.setSize(130, 16);
		add(scatteringSlider);

		smoothingSlider = new CPSlider(100) {

			public void onValueChange() {
				controller.getBrushInfo().smoothing = value / 100f;
				controller.callToolListeners();
				title = "Smoothing: " + value + "%";
			}
		};
		smoothingSlider.setLocation(20, 245);
		smoothingSlider.setSize(130, 16);
		add(smoothingSlider);

		alphaSlider.setValue(ctrlr.getAlpha());
		sizeSlider.setValue(ctrlr.getBrushSize());
		sizeCB.setValue(ctrlr.getBrushInfo().pressureSize);
		alphaCB.setValue(ctrlr.getBrushInfo().pressureAlpha);
		tipCombo.setSelectedIndex(ctrlr.getBrushInfo().type);

		resatSlider.setValue((int) (ctrlr.getBrushInfo().resat * 100));
		bleedSlider.setValue((int) (ctrlr.getBrushInfo().bleed * 100));
		spacingSlider.setValue((int) (ctrlr.getBrushInfo().spacing * 100));
		scatteringCB.setValue(ctrlr.getBrushInfo().pressureScattering);
		scatteringSlider.setValue((int) (ctrlr.getBrushInfo().scattering * 100));
		smoothingSlider.setValue((int) (ctrlr.getBrushInfo().smoothing * 100));

		ctrlr.addToolListener(this);
	}

	public void newTool(int tool, CPBrushInfo toolInfo) {
		if (toolInfo.alpha != alphaSlider.value) {
			alphaSlider.setValue(toolInfo.alpha);
		}

		if (toolInfo.size != sizeSlider.value) {
			sizeSlider.setValue(toolInfo.size);
		}

		if (toolInfo.pressureSize != sizeCB.state) {
			sizeCB.setValue(toolInfo.pressureSize);
		}

		if (toolInfo.pressureAlpha != alphaCB.state) {
			alphaCB.setValue(toolInfo.pressureAlpha);
		}

		if (toolInfo.type != tipCombo.getSelectedIndex()) {
			tipCombo.setSelectedIndex(toolInfo.type);
		}

		if ((int) (toolInfo.resat * 100.f) != resatSlider.value) {
			resatSlider.setValue((int) (toolInfo.resat * 100.f));
		}

		if ((int) (toolInfo.bleed * 100.f) != bleedSlider.value) {
			bleedSlider.setValue((int) (toolInfo.bleed * 100.f));
		}

		if ((int) (toolInfo.spacing * 100.f) != spacingSlider.value) {
			spacingSlider.setValue((int) (toolInfo.spacing * 100.f));
		}

		if (toolInfo.pressureScattering != scatteringCB.state) {
			scatteringCB.setValue(toolInfo.pressureScattering);
		}

		if ((int) (toolInfo.scattering * 100.f) != scatteringSlider.value) {
			scatteringSlider.setValue((int) (toolInfo.scattering * 100.f));
		}

		if ((int) (toolInfo.smoothing * 100.f) != smoothingSlider.value) {
			smoothingSlider.setValue((int) (toolInfo.smoothing * 100.f));
		}
	}

	public void actionPerformed(ActionEvent e) {
		if (e.getSource() == tipCombo) {
			controller.getBrushInfo().type = tipCombo.getSelectedIndex();
		}
	}

	class CPBrushPreview extends JComponent implements MouseListener, MouseMotionListener, CPController.ICPToolListener {

		int w, h;
		int size;

		public CPBrushPreview() {
			w = h = 64;
			setBackground(Color.white);
			setSize(new Dimension(w, h));

			addMouseListener(this);
			addMouseMotionListener(this);
			controller.addToolListener(this);

			size = 16;
		}

		public void paint(Graphics g) {
			g.drawOval(w / 2 - size / 2, h / 2 - size / 2, size, size);
		}

		public void mouseSelect(MouseEvent e) {
			int x = e.getX() - w / 2;
			int y = e.getY() - h / 2;

			int newSize = (int) Math.sqrt((x * x + y * y)) * 2;
			size = Math.max(1, Math.min(200, newSize));

			repaint();
			controller.setBrushSize(size);
		}

		public void mouseEntered(MouseEvent e) {
		}

		public void mouseExited(MouseEvent e) {
		}

		public void mouseClicked(MouseEvent e) {
		}

		public void mousePressed(MouseEvent e) {
			mouseSelect(e);
		}

		public void mouseReleased(MouseEvent e) {
		}

		public void mouseMoved(MouseEvent e) {
		}

		public void mouseDragged(MouseEvent e) {
			mouseSelect(e);
		}

		public Dimension getPreferredSize() {
			return new Dimension(w, h);
		}

		public void newTool(int tool, CPBrushInfo toolInfo) {
			if (toolInfo.size != size) {
				size = toolInfo.size;
				repaint();
			}
		}
	}

	class CPAlphaSlider extends CPSlider {

		public CPAlphaSlider() {
			super(255);
			minValue = 1;
		}

		public void onValueChange() {
			controller.setAlpha(value);
			title = "Opacity: " + value;
		}
	}

	class CPSizeSlider extends CPSlider {

		public CPSizeSlider() {
			super(200);
			minValue = 1;
		}

		public void onValueChange() {
			controller.setBrushSize(value);
			title = "Brush Size: " + value;
		}
	}

	class CPCheckBox extends JComponent implements MouseListener {

		boolean state = false;

		public CPCheckBox() {
			addMouseListener(this);
		}

		public void paint(Graphics g) {
			Dimension d = getSize();

			if (state) {
				g.fillOval(3, 3, d.width - 5, d.height - 5);
			} else {
				g.drawOval(3, 3, d.width - 6, d.height - 6);
			}
		}

		public void setValue(boolean b) {
			state = b;
			onValueChange();
			repaint();
		}

		public void onValueChange() {
		}

		public void mouseClicked(MouseEvent e) {
		}

		public void mouseEntered(MouseEvent e) {
		}

		public void mouseExited(MouseEvent e) {
		}

		public void mousePressed(MouseEvent e) {
			setValue(!state);
		}

		public void mouseReleased(MouseEvent e) {
		}
	}

	class CPAlphaCB extends CPCheckBox {

		public void onValueChange() {
			controller.getBrushInfo().pressureAlpha = state;
			controller.callToolListeners();
		}
	}

	class CPSizeCB extends CPCheckBox {

		public void onValueChange() {
			controller.getBrushInfo().pressureSize = state;
			controller.callToolListeners();
		}
	}

}

// setLocation((int) (e.getX() + getLocation().getX()), (int) (e.getY() + getLocation().getY()));

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜一区二区三区| 亚洲男人天堂av网| 7777精品伊人久久久大香线蕉最新版| 不卡的av在线播放| 国产精品一二三在| 国产一区二区三区电影在线观看| 黄色资源网久久资源365| 国内精品国产成人国产三级粉色| 久久精品国产澳门| 激情六月婷婷综合| 丰满白嫩尤物一区二区| 成人精品电影在线观看| 97久久精品人人做人人爽50路| 成人av先锋影音| 99国产精品久| 欧美视频在线一区二区三区| 欧美老肥妇做.爰bbww视频| 欧美日韩国产一级片| 欧美一区二区三区爱爱| 精品国内二区三区| 国产女人18毛片水真多成人如厕| 国产精品久久久久桃色tv| 国内精品视频一区二区三区八戒| 国产一区二区导航在线播放| 国产**成人网毛片九色 | 另类小说色综合网站| 韩国成人精品a∨在线观看| 国产电影一区二区三区| av影院午夜一区| 欧美日韩在线综合| 欧美一二三四在线| 国产网站一区二区三区| 亚洲黄一区二区三区| 日韩激情av在线| 狠狠色丁香久久婷婷综合丁香| 国产成人av影院| 91精彩视频在线观看| 9191成人精品久久| 国产亚洲综合色| 夜夜嗨av一区二区三区四季av| 日韩av一二三| 成人精品在线视频观看| 欧美日韩在线观看一区二区 | aaa亚洲精品| 欧美日韩国产123区| 久久久久99精品一区| 亚洲男人的天堂一区二区| 日精品一区二区| 大胆亚洲人体视频| 欧美人与禽zozo性伦| 国产清纯白嫩初高生在线观看91 | 欧美一区二区三区在线电影| 欧美激情一区二区三区四区| 亚洲第一搞黄网站| 国产精品自拍一区| 欧美色图在线观看| 国产日韩欧美精品一区| 午夜精品免费在线观看| 国产乱国产乱300精品| 99国产精品视频免费观看| 精品国产伦一区二区三区免费| 亚洲精品久久久蜜桃| 国产一区欧美日韩| 欧美日免费三级在线| 国产精品精品国产色婷婷| 久久99国产精品免费| 在线视频欧美精品| 欧美激情自拍偷拍| 久久精品国产精品亚洲精品| 欧美熟乱第一页| 中文字幕一区不卡| 国产精品一区二区在线看| 欧美精品乱人伦久久久久久| 中文字幕日韩精品一区 | 久久久久久综合| 午夜影视日本亚洲欧洲精品| av资源网一区| 国产欧美一二三区| 久久 天天综合| 欧美精品粉嫩高潮一区二区| 亚洲精品视频在线看| 大美女一区二区三区| 久久香蕉国产线看观看99| 日韩精品1区2区3区| 欧美日本免费一区二区三区| 一区二区三区在线视频播放| 99精品热视频| 国产精品午夜在线观看| 国产一区二区免费看| 精品国产伦一区二区三区观看方式 | 精品毛片乱码1区2区3区| 亚洲va天堂va国产va久| 色天使色偷偷av一区二区| 中文字幕一区三区| 91丨porny丨国产入口| 中国色在线观看另类| 成人国产一区二区三区精品| 久久精品亚洲国产奇米99| 国产真实乱偷精品视频免| 日韩一区二区电影| 美国十次综合导航| 日韩丝袜情趣美女图片| 日本人妖一区二区| 欧美一区二区视频在线观看| 蜜桃av一区二区三区| 欧美一区二区视频在线观看2022| 青青青爽久久午夜综合久久午夜| 欧美人动与zoxxxx乱| 午夜伊人狠狠久久| 欧美人狂配大交3d怪物一区| 日本强好片久久久久久aaa| 91精品国产综合久久福利| 久久电影国产免费久久电影| 日韩免费在线观看| 韩国成人精品a∨在线观看| 久久久av毛片精品| 99久久精品免费看国产免费软件| 国产精品不卡视频| 色先锋久久av资源部| 亚洲永久精品大片| 91精品国产综合久久香蕉麻豆| 青娱乐精品在线视频| 精品国产1区2区3区| 成人在线一区二区三区| 国产精品不卡视频| 欧美亚洲禁片免费| 蓝色福利精品导航| 日本一区二区三区国色天香| www.色精品| 樱桃视频在线观看一区| 欧美精品在线一区二区| 国产主播一区二区三区| 亚洲欧洲在线观看av| 欧美三级午夜理伦三级中视频| 手机精品视频在线观看| 国产亚洲一区二区三区| 91色乱码一区二区三区| 视频一区视频二区中文| 久久噜噜亚洲综合| 一本色道久久综合狠狠躁的推荐| 亚洲v精品v日韩v欧美v专区| 久久蜜桃av一区精品变态类天堂| 97精品超碰一区二区三区| 亚洲成人动漫在线免费观看| 精品久久久三级丝袜| 91婷婷韩国欧美一区二区| 首页国产欧美久久| 国产精品卡一卡二| 欧美日韩色综合| 国产成人av一区| 亚洲成人av电影在线| 久久午夜羞羞影院免费观看| 一本一道综合狠狠老| 久久精品国内一区二区三区| 国产精品电影院| 这里只有精品99re| 成人小视频在线观看| 丝瓜av网站精品一区二区| 久久九九99视频| 欧美日韩电影一区| a级高清视频欧美日韩| 精品一区二区在线免费观看| 亚洲自拍偷拍九九九| 久久在线免费观看| 欧美日韩精品三区| 99亚偷拍自图区亚洲| 精品一区二区三区免费观看 | 国产一区二区三区在线观看免费视频| 成人欧美一区二区三区小说| 精品国产91九色蝌蚪| 欧美日本韩国一区| 色欧美片视频在线观看 | 国产亚洲美州欧州综合国| 91久久精品日日躁夜夜躁欧美| 国产一区二区在线观看免费 | 欧美日韩在线精品一区二区三区激情| 国产成人久久精品77777最新版本| 日韩激情一区二区| 亚洲一区二区三区在线| 中文在线免费一区三区高中清不卡| 6080国产精品一区二区| 色国产综合视频| 99麻豆久久久国产精品免费优播| 国产真实精品久久二三区| 日韩不卡一区二区| 亚洲最大的成人av| 亚洲婷婷在线视频| 国产日产亚洲精品系列| 欧美精品一区二区三区蜜臀| 欧美日韩亚州综合| 91久久精品网| 91浏览器打开| 99久久久无码国产精品| 国产成人小视频| 国产一区二区三区黄视频| 韩国理伦片一区二区三区在线播放| 视频一区视频二区中文字幕| 午夜精品久久久久影视| 一区二区三区精品在线| 亚洲曰韩产成在线|