[Patchanim-commit] SF.net SVN: patchanim: [214] trunk/patchanim/src/com/mebigfatguy/patchanim
Brought to you by:
dbrosius
From: <dbr...@us...> - 2008-02-18 18:16:35
|
Revision: 214 http://patchanim.svn.sourceforge.net/patchanim/?rev=214&view=rev Author: dbrosius Date: 2008-02-18 10:16:41 -0800 (Mon, 18 Feb 2008) Log Message: ----------- add radialGradient menu option to patch sample Modified Paths: -------------- trunk/patchanim/src/com/mebigfatguy/patchanim/AnimationType.java trunk/patchanim/src/com/mebigfatguy/patchanim/BlendDirection.java trunk/patchanim/src/com/mebigfatguy/patchanim/OutOfBoundsColor.java trunk/patchanim/src/com/mebigfatguy/patchanim/gui/JPatchSamplePanel.java trunk/patchanim/src/com/mebigfatguy/patchanim/main/PatchAnimBundle.java trunk/patchanim/src/com/mebigfatguy/patchanim/resources.properties Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/AnimationType.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/AnimationType.java 2008-02-18 17:43:09 UTC (rev 213) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/AnimationType.java 2008-02-18 18:16:41 UTC (rev 214) @@ -35,12 +35,13 @@ Cycle, Wave; + private static final String TYPE = "type."; /** * returns the localized value of the type */ @Override public String toString() { ResourceBundle rb = PatchAnimBundle.getBundle(); - return rb.getString(PatchAnimBundle.ROOT + name().toLowerCase()); + return rb.getString(PatchAnimBundle.ROOT + TYPE + name().toLowerCase()); } } Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/BlendDirection.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/BlendDirection.java 2008-02-18 17:43:09 UTC (rev 213) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/BlendDirection.java 2008-02-18 18:16:41 UTC (rev 214) @@ -26,7 +26,9 @@ LeftToRight, TopToBottom, RightToLeft, - BottomToTop; + BottomToTop, + Outward, + Inward; /** * returns the localized value of the type Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/OutOfBoundsColor.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/OutOfBoundsColor.java 2008-02-18 17:43:09 UTC (rev 213) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/OutOfBoundsColor.java 2008-02-18 18:16:41 UTC (rev 214) @@ -35,6 +35,7 @@ Cycle, Wave; + private static final String OOB = "oob."; /** * returns the localized value of the enum * @return the localized display value @@ -42,6 +43,6 @@ @Override public String toString() { ResourceBundle rb = PatchAnimBundle.getBundle(); - return rb.getString(PatchAnimBundle.ROOT + name().toLowerCase()); + return rb.getString(PatchAnimBundle.ROOT + OOB + name().toLowerCase()); } } Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/gui/JPatchSamplePanel.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/gui/JPatchSamplePanel.java 2008-02-18 17:43:09 UTC (rev 213) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/gui/JPatchSamplePanel.java 2008-02-18 18:16:41 UTC (rev 214) @@ -172,6 +172,9 @@ redrawThread = new Thread(new Runnable() { public void run() { + if (oob == null) + oob = OutOfBoundsColor.Clip; + if (color == PatchColor.Combined) { PatchGenerator.recalcCombinedImage(patch, image, oob); } else { @@ -249,40 +252,59 @@ }); menu.add(darkenPatch); - JMenu linearBlend = new JMenu(rb.getString(PatchAnimBundle.LINEARGRADIENT)); + JMenu linearGradient = new JMenu(rb.getString(PatchAnimBundle.LINEARGRADIENT)); JMenuItem leftToRight = new JMenuItem(rb.getString(PatchAnimBundle.LEFTTORIGHT)); leftToRight.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { - linearBlend(BlendDirection.LeftToRight); + linearGradient(BlendDirection.LeftToRight); } }); JMenuItem topToBottom = new JMenuItem(rb.getString(PatchAnimBundle.TOPTOBOTTOM)); topToBottom.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { - linearBlend(BlendDirection.TopToBottom); + linearGradient(BlendDirection.TopToBottom); } }); JMenuItem rightToLeft = new JMenuItem(rb.getString(PatchAnimBundle.RIGHTTOLEFT)); rightToLeft.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { - linearBlend(BlendDirection.RightToLeft); + linearGradient(BlendDirection.RightToLeft); } }); JMenuItem bottomToTop = new JMenuItem(rb.getString(PatchAnimBundle.BOTTOMTOTOP)); bottomToTop.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { - linearBlend(BlendDirection.BottomToTop); + linearGradient(BlendDirection.BottomToTop); } }); - linearBlend.add(leftToRight); - linearBlend.add(topToBottom); - linearBlend.add(rightToLeft); - linearBlend.add(bottomToTop); - menu.add(linearBlend); + linearGradient.add(leftToRight); + linearGradient.add(topToBottom); + linearGradient.add(rightToLeft); + linearGradient.add(bottomToTop); + menu.add(linearGradient); + + JMenu radialGradient = new JMenu(rb.getString(PatchAnimBundle.RADIALGRADIENT)); + JMenuItem outward = new JMenuItem(rb.getString(PatchAnimBundle.OUTWARD)); + outward.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + radialGradient(BlendDirection.Outward); + } + }); + + JMenuItem inward = new JMenuItem(rb.getString(PatchAnimBundle.INWARD)); + inward.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent ae) { + radialGradient(BlendDirection.Inward); + } + }); + + radialGradient.add(outward); + radialGradient.add(inward); + menu.add(radialGradient); JMenuItem invert = new JMenuItem(rb.getString(PatchAnimBundle.INVERT)); invert.addActionListener(new ActionListener() { @@ -388,7 +410,7 @@ mediator.setNewActivePatch(patch); } - private void linearBlend(BlendDirection direction) { + private void linearGradient(BlendDirection direction) { PatchPanelMediator mediator = PatchPanelMediator.getMediator(); CombinedPatch patch = mediator.getActivePatch(); PatchCoords coords = patch.getPatch(color); @@ -423,6 +445,35 @@ mediator.setNewActivePatch(patch); } + private void radialGradient(BlendDirection direction) { + PatchPanelMediator mediator = PatchPanelMediator.getMediator(); + CombinedPatch patch = mediator.getActivePatch(); + PatchCoords coords = patch.getPatch(color); + int order = coords.getOrder(); + double color = 0.0; + + double midOrder = (order - 1) / 2.0; + double midOrderSq = midOrder * midOrder; + for (int i = 0; i < order; i++) { + for (int j = 0; j < order; j++) { + Coordinate c = coords.getCoordinate(i, j); + switch (direction) { + case Outward: + color = (double)(int)((255.0 * Math.abs(i - midOrder) * Math.abs(j - midOrder)) / midOrderSq); + break; + + case Inward: + color = (double)(int)(255.0 - (255.0 * (Math.abs(i - midOrder) * Math.abs(j - midOrder))) / midOrderSq); + break; + } + + c.setColor(color); + coords.setCoordinate(i, j, c); + } + } + mediator.setNewActivePatch(patch); + } + @Override public void paintComponent(Graphics g) { Shape clip = g.getClip(); Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/main/PatchAnimBundle.java =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/main/PatchAnimBundle.java 2008-02-18 17:43:09 UTC (rev 213) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/main/PatchAnimBundle.java 2008-02-18 18:16:41 UTC (rev 214) @@ -86,6 +86,9 @@ public static final String TOPTOBOTTOM = "patchanim.toptobottom"; public static final String RIGHTTOLEFT = "patchanim.righttoleft"; public static final String BOTTOMTOTOP = "patchanim.bottomtotop"; + public static final String RADIALGRADIENT = "patchanim.radialgradient"; + public static final String OUTWARD = "patchanim.outward"; + public static final String INWARD = "patchanim.inward"; public static final String INVERT = "patchanim.invert"; public static final String COPYPATCHFROM = "patchanim.copypatchfrom"; public static final String REDPATCH = "patchanim.redpatch"; Modified: trunk/patchanim/src/com/mebigfatguy/patchanim/resources.properties =================================================================== --- trunk/patchanim/src/com/mebigfatguy/patchanim/resources.properties 2008-02-18 17:43:09 UTC (rev 213) +++ trunk/patchanim/src/com/mebigfatguy/patchanim/resources.properties 2008-02-18 18:16:41 UTC (rev 214) @@ -54,8 +54,8 @@ patchanim.outofboundscolor = Out Of Bounds Color patchanim.tooltip.outofboundscolor = How colors that are out of the range of 0 - 255 are handled patchanim.oob.clip = Clip -patchanim.oob.Cycle = Cycle -patchanim.oob.Wave = Wave +patchanim.oob.cycle = Cycle +patchanim.oob.wave = Wave patchanim.tween = In-between frames patchanim.tooltip.tween = How many frames are generated as transitions from one patch to the next patchanim.test = Test @@ -79,6 +79,9 @@ patchanim.toptobottom = Top to Bottom patchanim.righttoleft = Right to Left patchanim.bottomtotop = Bottom to Top +patchanim.radialgradient = Radial Gradient +patchanim.outward = Outward +patchanim.inward = Inward patchanim.invert = Invert patchanim.copypatchfrom = Copy patch from... patchanim.redpatch = Red Patch This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |