java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.jackmeng.halcyoninae.cosmos.components.waveform.WaveForm
All Implemented Interfaces:
TailwindListener.FrameBufferListener, ImageObserver, MenuContainer, Serializable, Accessible

public class WaveForm extends JPanel implements TailwindListener.FrameBufferListener
A WaveForm main panel.

3.3 : Optimized the heck out of the algorithms used to draw thus reducing overhead and memory usage.

Since:
3.2
Author:
Jack Meng
See Also:
  • Field Details

    • renderinghints

      private static final Map<RenderingHints.Key,Object> renderinghints
    • lock

      private final transient Object lock
    • samples

      private byte[] samples
    • path

      private Path2D.Float path
    • s_valid

      private int s_valid
    • fakeVis

      private boolean fakeVis
  • Constructor Details

    • WaveForm

      public WaveForm()
  • Method Details

    • setVisibility

      public void setVisibility(boolean vis)
      Parameters:
      vis -
    • isFakeVisible

      public boolean isFakeVisible()
      Returns:
      boolean
    • make

      public void make(byte[] samples)
      DOES NOT REPAINT THE FRAME

      REPAINT MUST BE CALLED SEPARATELY

      Parameters:
      samples -
    • paintComponent

      public void paintComponent(Graphics g)
      Overrides:
      paintComponent in class JComponent
      Parameters:
      g -
    • frameUpdate

      public void frameUpdate(byte[] samples)
      Specified by:
      frameUpdate in interface TailwindListener.FrameBufferListener
      Parameters:
      samples -