public GuiElButtonDropdown(Gui gui, GuiElPanel panel, Vector2f pos, Vector2f size, String text) {
		super(gui,panel,pos,size,text);
		
		final GuiElButtonDropdown me = this;
		dropdown = new GuiElButton(gui,panel,new Vector2f(pos.x+size.x-size.y,pos.y),new Vector2f(size.y,size.y),null){
			protected GuiElButtonDropdown parent = me;
			
			protected void onMouseClicked() {
				parent.onMouseClickedDropdown();
			}
			
			protected void onRender(GraphicsHelper gh) {
				Rectangle rect = new Rectangle(xOnView(pos.x),yOnView(pos.y),size.x,size.y);
				
				gh.drawRectangleGradient(rect,cBgTop.multiply(color),cBgTop.multiply(color),cBgBottom.multiply(color),cBgBottom.multiply(color));
				gh.g().setColor(cBorder.multiply(color));
				gh.g().draw(rect);
				
				float mult = pressed || parent.toggle ? cMultPress : (over ? cMultOver : 0f);
				
				if (mult != 0f) {
					gh.setBlendMode(mult > 0 ? BM_ADD : BM_SUBTRACT);
					mult = Math.abs(mult);
					gh.g().setColor(Colors.merge(Color.black,Color.white,mult).multiply(color));
					gh.g().fill(rect);
					gh.setPreviousBlendMode();
				}
				
				Vector2f posCenter = new Vector2f(pos.x+size.x/2f,pos.y+size.y/2f);
				Vector2f
					pos1 = posCenter.copy().add(Math2.makeVector(size.x/4f,270f-(parent.dropBottom ? 0 : 180))),
					pos2 = posCenter.copy().add(Math2.makeVector(size.x/4f,270f-(parent.dropBottom ? 0 : 180)-360f/3f)),
					pos3 = posCenter.copy().add(Math2.makeVector(size.x/4f,270f-(parent.dropBottom ? 0 : 180)-360f/3f*2f));
				Polygon p = new Polygon(); p.setClosed(true);
				p.addPoint(pos1.x,pos1.y); p.addPoint(pos2.x,pos2.y); p.addPoint(pos3.x,pos3.y);
				
				gh.g().setAntiAlias(true);
				gh.g().fill(p,new ShapeFill(){
					public Color colorAt(Shape shape, float x, float y) {
						return Colors.merge(cBgTop,cBgBottom,(y-shape.getMinY())/(shape.getMaxY()-shape.getMinY())).multiply(color);
					}
					public Vector2f getOffsetAt(Shape shape, float x, float y) {
						return new Vector2f(0,0);
					}
				});
				gh.g().setColor(cBorder.multiply(color));
				gh.g().draw(p);
				gh.g().setAntiAlias(false);
			}
		};
	}