Mercurial > hg > jslab
annotate src/samer/tools/ImageTrace.java @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | bf79fb79ee13 |
children |
rev | line source |
---|---|
samer@0 | 1 /* |
samer@0 | 2 * Copyright (c) 2000, Samer Abdallah, King's College London. |
samer@0 | 3 * All rights reserved. |
samer@0 | 4 * |
samer@0 | 5 * This software is provided AS iS and WITHOUT ANY WARRANTY; |
samer@0 | 6 * without even the implied warranty of MERCHANTABILITY or |
samer@0 | 7 * FITNESS FOR A PARTICULAR PURPOSE. |
samer@0 | 8 */ |
samer@0 | 9 |
samer@0 | 10 package samer.tools; |
samer@0 | 11 import java.awt.*; |
samer@0 | 12 import java.util.*; |
samer@0 | 13 |
samer@0 | 14 public class ImageTrace extends ImageTraceBase |
samer@0 | 15 { |
samer@0 | 16 private int x=0; |
samer@0 | 17 |
samer@0 | 18 public ImageTrace( ImageSourceBase i, Observable o) { super(i,o); } |
samer@0 | 19 |
samer@0 | 20 public void next() |
samer@0 | 21 { |
samer@0 | 22 ip.sendPixels(); |
samer@0 | 23 |
samer@0 | 24 // make room for next image |
samer@0 | 25 if (scroll) while (x+sx>width) { |
samer@0 | 26 graphics.copyArea(scrollStep,0,width-scrollStep,height,-scrollStep,0); |
samer@0 | 27 x-=scrollStep; |
samer@0 | 28 } |
samer@0 | 29 else if (x>=width) x=0; |
samer@0 | 30 |
samer@0 | 31 if (!sc) { |
samer@0 | 32 graphics.drawImage( img, x, 0, null); |
samer@0 | 33 } else { |
samer@0 | 34 if (stretch) { |
samer@0 | 35 graphics.drawImage( img, x, 0, sx, height, null); |
samer@0 | 36 } else { |
samer@0 | 37 graphics.drawImage( img, x, 0, sx, sy, null); |
samer@0 | 38 } |
samer@0 | 39 } |
samer@0 | 40 getToolkit().sync(); |
samer@0 | 41 |
samer@0 | 42 x+=sx; |
samer@0 | 43 } |
samer@0 | 44 |
samer@0 | 45 public Dimension getPreferredSize() { |
samer@0 | 46 return new Dimension(cx*256,cy*ip.getHeight()); |
samer@0 | 47 } |
samer@0 | 48 } |