This commit is contained in:
Ubi de Feo 2018-03-18 09:02:34 +00:00 committed by GitHub
commit 1249af14ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 52 additions and 10 deletions

View File

@ -236,7 +236,6 @@ public class ControlFont {
theGraphics.textFont( pfont , size );
theGraphics.textAlign( theLabel.textAlign );
theGraphics.fill( theLabel.getColor( ) );
if ( theLabel.isMultiline( ) ) {
theGraphics.fill( theLabel.getColor( ) );
theGraphics.textLeading( theLabel.getLineHeight( ) );

View File

@ -843,7 +843,7 @@ public final class ControlWindow {
_myApplet.frame.removeNotify( );
_myApplet.frame.setUndecorated( isUndecorated );
_myApplet.setSize( _myApplet.width , _myApplet.height );
_myApplet.setBounds( 0 , 0 , _myApplet.width , _myApplet.height );
//_myApplet.setBounds( 0 , 0 , _myApplet.width , _myApplet.height );
_myApplet.frame.setSize( _myApplet.width , _myApplet.height );
_myApplet.frame.addNotify( );
}

View File

@ -523,6 +523,7 @@ public class Slider extends Controller< Slider > {
}
public void display( PGraphics theGraphics , Slider theController ) {
//theGraphics.clear();
theGraphics.fill( getColor( ).getBackground( ) );
theGraphics.noStroke( );
if ( ( getColor( ).getBackground( ) >> 24 & 0xff ) > 0 ) {
@ -552,11 +553,26 @@ public class Slider extends Controller< Slider > {
theGraphics.pushStyle( );
theGraphics.translate( -4 , ( getSliderMode( ) == FIX ) ? 0 : getHandleSize( ) / 2 );
theGraphics.fill( _myColorTickMark );
float x = ( getHeight( ) - ( ( getSliderMode( ) == FIX ) ? 0 : getHandleSize( ) ) ) / ( getTickMarks( ).size( ) - 1 );
float x = ( (float)getHeight( ) - ( ( getSliderMode( ) == FIX ) ? 0 : getHandleSize( ) ) ) / ( getTickMarks( ).size( ) - 1 );
int tickMarksCount = 0;
int totalTickMarks = _myTickMarks.size();
int xOffset;
for ( TickMark tm : getTickMarks( ) ) {
theGraphics.pushMatrix();
xOffset = PApplet.round(x*tickMarksCount);
if(tickMarksCount < totalTickMarks -1){
theGraphics.translate( 0, xOffset );
}else{
theGraphics.translate( 0, xOffset-1 );
}
tm.draw( theGraphics , getDirection( ) );
theGraphics.translate( 0 , x );
theGraphics.popMatrix();
//PApplet.println(tickMarksCount + " > xOffset: " + xOffset);
tickMarksCount++;
}
theGraphics.popStyle( );
theGraphics.popMatrix( );
}
@ -614,18 +630,38 @@ public class Slider extends Controller< Slider > {
}
if ( isShowTickMarks ) {
theGraphics.pushMatrix( );
// theGraphics.pushStyle( );
theGraphics.translate( ( getSliderMode( ) == FIX ) ? 0 : getHandleSize( ) / 2 , getHeight( ) );
theGraphics.fill( _myColorTickMark );
theGraphics.noStroke( );
float x = ( getWidth( ) - ( ( getSliderMode( ) == FIX ) ? 0 : getHandleSize( ) ) ) / ( getTickMarks( ).size( ) - 1 );
float x = ( (float)getWidth() - ( ( getSliderMode() == FIX ) ? 0 : getHandleSize() ) ) / ( getTickMarks().size() - 1 );
int tickMarksCount = 0;
int totalTickMarks = _myTickMarks.size();
int xOffset;
for ( TickMark tm : getTickMarks( ) ) {
theGraphics.pushMatrix();
xOffset = PApplet.round(x*tickMarksCount);
if(tickMarksCount < totalTickMarks -1){
theGraphics.translate( xOffset , 0 );
}else{
theGraphics.translate( xOffset-1 , 0 );
}
tm.draw( theGraphics , getDirection( ) );
theGraphics.translate( x , 0 );
theGraphics.popMatrix();
//PApplet.println(tickMarksCount + " > xOffset: " + xOffset);
tickMarksCount++;
}
// theGraphics.popStyle( );
theGraphics.popMatrix( );
}
}
}

15
src/controlP5/TickMark.java Executable file → Normal file
View File

@ -20,8 +20,8 @@ package controlP5;
* Boston, MA 02111-1307 USA
*
* @author Andreas Schlegel (http://www.sojamo.de)
* @modified ##date##
* @version ##version##
* @modified 03/15/2018
* @version 2.2.6
*
*/
import processing.core.PApplet;
@ -35,6 +35,7 @@ public class TickMark implements CDrawable {
protected Controller< ? > _myParent;
protected int _myLen = 4;
protected int _myDistance = _myLen;
protected Label _myLabel;
@ -52,16 +53,17 @@ public class TickMark implements CDrawable {
theGraphics.pushMatrix( );
switch ( theDirection ) {
case ( ControlP5Constants.HORIZONTAL ):
theGraphics.translate( 0 , _myLen );
theGraphics.translate( 0 , _myDistance );
theGraphics.rect( 0 , 0 , 1 , _myLen );
if ( isLabel ) {
_myLabel.draw( theGraphics , 0 , _myLen + 4 , _myParent );
}
break;
case ( ControlP5Constants.VERTICAL ):
theGraphics.translate( -_myLen , 0 );
theGraphics.translate( -_myDistance - _myLen , 0 );
theGraphics.rect( 0 , 0 , _myLen , 1 );
if ( isLabel ) {
_myLabel.draw( theGraphics , -_myLabel.getWidth( ) , 0 , _myParent );
}
break;
@ -74,7 +76,12 @@ public class TickMark implements CDrawable {
_myLen = theLength;
}
public void setDistance( int theDistance) {
_myDistance = theDistance;
}
public Label setLabel( String theLabeltext ) {
if ( _myLabel == null ) {
_myLabel = new Label( _myParent.cp5 , theLabeltext );
isLabel = true;