annotate src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveUpdateRectangle.java @ 5:c05d3b89b446

Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
author YU
date Sat, 13 Sep 2014 20:55:48 +0900
parents 9a24e36d8ed7
children 65d989192d63
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
1 package jp.ac.u_ryukyu.alicevnc;
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
2
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
3 import java.util.ArrayList;
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
4
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
5 import com.glavsoft.exceptions.TransportException;
4
9a24e36d8ed7 use constructor for setting parms
YU
parents: 2
diff changeset
6 import com.glavsoft.rfb.encoding.EncodingType;
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
7 import com.glavsoft.rfb.encoding.decoder.DecodeInfo;
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
8 import com.glavsoft.rfb.encoding.decoder.FramebufferUpdateRectangle;
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
9 import com.glavsoft.rfb.encoding.decoder.ZRLEDecoder;
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
10
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
11 import alice.codesegment.CodeSegment;
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
12 import alice.datasegment.CommandType;
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
13 import alice.datasegment.Receiver;
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
14
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
15 public class ReceiveUpdateRectangle extends CodeSegment{
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
16
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
17 private Receiver info = ids.create(CommandType.PEEK);
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
18 private Receiver info1 = ids.create(CommandType.TAKE);
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
19 private Receiver info2= ids.create(CommandType.PEEK);
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
20
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
21 public ReceiveUpdateRectangle(){
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
22 info.setKey("Holder");
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
23 info1.setKey("decodeInfo");
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
24 info2.setKey("_CLIST");
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
25 }
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
26
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
27
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
28 public void run() {
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
29 ZRLEDecoder decoder = new ZRLEDecoder();
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
30 RenderAndControllerHolder holder = info.asClass(RenderAndControllerHolder.class);
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
31 DecodeInfo decodeInfo = info1.asClass(DecodeInfo.class);
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
32
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
33 try {
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
34 decoder.decode(decodeInfo, holder.renderer);
4
9a24e36d8ed7 use constructor for setting parms
YU
parents: 2
diff changeset
35 FramebufferUpdateRectangle rect = new FramebufferUpdateRectangle(
9a24e36d8ed7 use constructor for setting parms
YU
parents: 2
diff changeset
36 decodeInfo.x, decodeInfo.y, decodeInfo.width, decodeInfo.height);
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
37
4
9a24e36d8ed7 use constructor for setting parms
YU
parents: 2
diff changeset
38 rect.encodingType = EncodingType.byId(decodeInfo.encodingTypeId);
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
39
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
40 holder.repaintController.repaintBitmap(rect);
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
41 } catch (TransportException e) {
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
42 e.printStackTrace();
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
43 }
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
44
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
45
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
46 @SuppressWarnings("unchecked")
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
47 ArrayList<String> clist = info2.asClass(ArrayList.class);
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
48 for (String node : clist){
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
49 if (!"parent".equals(node))
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
50 ods.put(node, "decodeInfo", info1.getVal());
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
51 }
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
52
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
53 new ReceiveUpdateRectangle();
5
c05d3b89b446 Send DecodeInfo to Children Nodes. but occur ArrayIndexOutOfBoundsException.
YU
parents: 4
diff changeset
54
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
55 }
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
56
e046eb8a3ac1 succeed to repaint another viewer
YU
parents:
diff changeset
57 }