annotate src/samer/tools/ImageTrace.java @ 3:15b93db27c04
Get StreamSource to compile, update args for demo
author |
samer |
date |
Fri, 05 Apr 2019 17:00:18 +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 }
|