This commit is contained in:
Ubi de Feo 2018-03-18 09:10:39 +00:00 committed by GitHub
commit d49da8466e
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.textFont( pfont , size );
theGraphics.textAlign( theLabel.textAlign ); theGraphics.textAlign( theLabel.textAlign );
theGraphics.fill( theLabel.getColor( ) ); theGraphics.fill( theLabel.getColor( ) );
if ( theLabel.isMultiline( ) ) { if ( theLabel.isMultiline( ) ) {
theGraphics.fill( theLabel.getColor( ) ); theGraphics.fill( theLabel.getColor( ) );
theGraphics.textLeading( theLabel.getLineHeight( ) ); theGraphics.textLeading( theLabel.getLineHeight( ) );

View File

@ -843,7 +843,7 @@ public final class ControlWindow {
_myApplet.frame.removeNotify( ); _myApplet.frame.removeNotify( );
_myApplet.frame.setUndecorated( isUndecorated ); _myApplet.frame.setUndecorated( isUndecorated );
_myApplet.setSize( _myApplet.width , _myApplet.height ); _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.setSize( _myApplet.width , _myApplet.height );
_myApplet.frame.addNotify( ); _myApplet.frame.addNotify( );
} }

View File

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

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

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