annotate src/main/java/jp/ac/u_ryukyu/alicevnc/CreateWindow.java @ 52:57ca704f86a3

back version Alice tag:work-compressedDSM
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Mon, 09 Nov 2015 16:09:16 +0900
parents 9354e8a1d03b
children fe627049e289
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
1 package jp.ac.u_ryukyu.alicevnc;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
2
32
7d65ad341cc9 refactor
sugi
parents: 31
diff changeset
3 import jp.ac.u_ryukyu.ie.cr.DecodeInfomation;
7d65ad341cc9 refactor
sugi
parents: 31
diff changeset
4
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
5 import com.glavsoft.drawing.Renderer;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
6 import com.glavsoft.rfb.IRepaintController;
3
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
7 import com.glavsoft.rfb.encoding.PixelFormat;
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
8 import com.glavsoft.rfb.protocol.Protocol;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
9 import com.glavsoft.rfb.protocol.ProtocolSettings;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
10 import com.glavsoft.viewer.Viewer;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
11 import com.glavsoft.viewer.cli.Parser;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
12 import com.glavsoft.viewer.swing.ParametersHandler;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
13 import com.glavsoft.viewer.swing.SwingViewerWindow;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
14 import com.glavsoft.viewer.swing.SwingViewerWindowFactory;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
15
a73b8a20e233 create another viewer window
one
parents:
diff changeset
16 import alice.codesegment.CodeSegment;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
17 import alice.datasegment.CommandType;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
18 import alice.datasegment.Receiver;
a73b8a20e233 create another viewer window
one
parents:
diff changeset
19
31
556e27a53219 refactor and bug fix
sugi
parents: 28
diff changeset
20 public class CreateWindow extends CodeSegment {
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
21
3
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
22 private Receiver info = ids.create(CommandType.PEEK);
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
23
52
57ca704f86a3 back version Alice tag:work-compressedDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
24 public CreateWindow(String key){
57ca704f86a3 back version Alice tag:work-compressedDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
25 info.setKey(key, "initMessage");
3
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
26 }
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
27
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
28 public void run() {
3
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
29 PixelFormat pixelFormat = null;
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
30 int width = 0;
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
31 int height = 0;
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
32 String name = "defalut";
28
71dd46e2d706 send ServerInIt message
sugi
parents: 21
diff changeset
33
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
34 Parser parser = new Parser();
a73b8a20e233 create another viewer window
one
parents:
diff changeset
35 ParametersHandler.completeParserOptions(parser);
a73b8a20e233 create another viewer window
one
parents:
diff changeset
36 if (parser.isSet(ParametersHandler.ARG_HELP)) {
a73b8a20e233 create another viewer window
one
parents:
diff changeset
37 System.exit(0);
a73b8a20e233 create another viewer window
one
parents:
diff changeset
38 }
a73b8a20e233 create another viewer window
one
parents:
diff changeset
39 Viewer viewer = new Viewer(parser);
a73b8a20e233 create another viewer window
one
parents:
diff changeset
40 SwingViewerWindowFactory viewerWindowFactory = new SwingViewerWindowFactory(true, false, viewer);
a73b8a20e233 create another viewer window
one
parents:
diff changeset
41 ProtocolSettings settings = ProtocolSettings.getDefaultSettings();
28
71dd46e2d706 send ServerInIt message
sugi
parents: 21
diff changeset
42
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
43 Protocol context = new Protocol(null, null, null, settings);
8
7c7a9b23c291 use MyMessageQueue
YU
parents: 3
diff changeset
44 context.setMessageQueue(new MyMessageQueue());
28
71dd46e2d706 send ServerInIt message
sugi
parents: 21
diff changeset
45
32
7d65ad341cc9 refactor
sugi
parents: 31
diff changeset
46 DecodeInfomation message = info.asClass(DecodeInfomation.class);
28
71dd46e2d706 send ServerInIt message
sugi
parents: 21
diff changeset
47 pixelFormat = message.getPixelFormat();
71dd46e2d706 send ServerInIt message
sugi
parents: 21
diff changeset
48 width = message.width;
71dd46e2d706 send ServerInIt message
sugi
parents: 21
diff changeset
49 height = message.height;
71dd46e2d706 send ServerInIt message
sugi
parents: 21
diff changeset
50 name = message.name;
31
556e27a53219 refactor and bug fix
sugi
parents: 28
diff changeset
51 ods.update("initMessage", message);
3
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
52
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
53 context.setPixelFormat(pixelFormat);
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
54 context.setFbWidth(width);
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
55 context.setFbHeight(height);
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
56 context.setRemoteDesktopName(name);
28
71dd46e2d706 send ServerInIt message
sugi
parents: 21
diff changeset
57
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
58 SwingViewerWindow viewerWindow = viewerWindowFactory.createViewerWindow(context, settings, viewer.getUiSettings(), null, null);
13
0a44eb36cb1c change timing setOnlyViewFlag
YU
parents: 8
diff changeset
59 settings.setViewOnly(true);
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
60 IRepaintController repaintController = viewerWindow.getSurface();
3
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
61 Renderer renderer = repaintController.createRenderer(null, width, height, context.getPixelFormat());
33
6f5986d8ecd5 prevent video feedback
sugi
parents: 32
diff changeset
62 RenderAndControllerHolder holder = new RenderAndControllerHolder(renderer, repaintController, viewerWindow);
31
556e27a53219 refactor and bug fix
sugi
parents: 28
diff changeset
63 ods.put("holder", holder);
3
9d932f70b29a create MyServerInitMessage. ServerInitMessage could not send with MessagePack for including PixelFormat class
YU
parents: 2
diff changeset
64
2
e046eb8a3ac1 succeed to repaint another viewer
YU
parents: 1
diff changeset
65 new ReceiveUpdateRectangle();
1
a73b8a20e233 create another viewer window
one
parents:
diff changeset
66 }
a73b8a20e233 create another viewer window
one
parents:
diff changeset
67
a73b8a20e233 create another viewer window
one
parents:
diff changeset
68 }