// Path: src/main/java/in/tombo/kashiki/buffer/BufferChar.java
// public class BufferChar implements Comparable<BufferChar> {
// 
//   private String c;
//   private int row;
//   private int col;
//   private BufferCharObserver observer = new BufferCharObserver();
// 
//   public BufferChar(String c, int row, int col) {
//     this.c = c;
//     this.row = row;
//     this.col = col;
//   }
// 
//   public void addListener(BufferCharListener listener) {
//     observer.addListener(listener);
//   }
// 
//   public void updatePosition(int row, int col) {
//     this.row = row;
//     this.col = col;
//     observer.update(this);
//   }
// 
//   public String getChar() {
//     return c;
//   }
// 
//   public int getRow() {
//     return row;
//   }
// 
//   public int getCol() {
//     return col;
//   }
// 
//   @Override
//   public int compareTo(BufferChar o) {
//     int rowCompare = Integer.compare(row, o.row);
//     if (rowCompare != 0) {
//       return rowCompare;
//     }
//     return Integer.compare(col, o.col);
//   }
// }
// 
// Path: src/main/java/in/tombo/kashiki/buffer/BufferCharListener.java
// public interface BufferCharListener {
// 
//   public void update(BufferChar bc);
// }


import in.tombo.kashiki.buffer.BufferChar;
import in.tombo.kashiki.buffer.BufferCharListener;
import com.jogamp.opengl.GL2;
import com.jogamp.opengl.util.texture.Texture;
package in.tombo.kashiki.view;



public class CharView extends Base implements BufferCharListener, Comparable<CharView> {
  private TextureProvider textureProvider;
// Path: src/main/java/in/tombo/kashiki/buffer/BufferChar.java
// public class BufferChar implements Comparable<BufferChar> {
// 
//   private String c;
//   private int row;
//   private int col;
//   private BufferCharObserver observer = new BufferCharObserver();
// 
//   public BufferChar(String c, int row, int col) {
//     this.c = c;
//     this.row = row;
//     this.col = col;
//   }
// 
//   public void addListener(BufferCharListener listener) {
//     observer.addListener(listener);
//   }
// 
//   public void updatePosition(int row, int col) {
//     this.row = row;
//     this.col = col;
//     observer.update(this);
//   }
// 
//   public String getChar() {
//     return c;
//   }
// 
//   public int getRow() {
//     return row;
//   }
// 
//   public int getCol() {
//     return col;
//   }
// 
//   @Override
//   public int compareTo(BufferChar o) {
//     int rowCompare = Integer.compare(row, o.row);
//     if (rowCompare != 0) {
//       return rowCompare;
//     }
//     return Integer.compare(col, o.col);
//   }
// }
// 
// Path: src/main/java/in/tombo/kashiki/buffer/BufferCharListener.java
// public interface BufferCharListener {
// 
//   public void update(BufferChar bc);
// }


// Path: src/main/java/in/tombo/kashiki/view/CharView.java
import in.tombo.kashiki.buffer.BufferChar;
import in.tombo.kashiki.buffer.BufferCharListener;
import com.jogamp.opengl.GL2;
import com.jogamp.opengl.util.texture.Texture;

package in.tombo.kashiki.view;



public class CharView extends Base implements BufferCharListener, Comparable<CharView> {
  private TextureProvider textureProvider;
  private BufferChar bufferChar;