Mercurial > hg > Applications > AliceVNC
view src/main/java/jp/ac/u_ryukyu/alicevnc/ReceiveUpdateRectangle.java @ 4:9a24e36d8ed7
use constructor for setting parms
author | YU |
---|---|
date | Sat, 13 Sep 2014 19:57:00 +0900 |
parents | e046eb8a3ac1 |
children | c05d3b89b446 |
line wrap: on
line source
package jp.ac.u_ryukyu.alicevnc; import com.glavsoft.exceptions.TransportException; import com.glavsoft.rfb.encoding.EncodingType; import com.glavsoft.rfb.encoding.decoder.DecodeInfo; import com.glavsoft.rfb.encoding.decoder.FramebufferUpdateRectangle; import com.glavsoft.rfb.encoding.decoder.ZRLEDecoder; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; public class ReceiveUpdateRectangle extends CodeSegment{ private Receiver info = ids.create(CommandType.PEEK); private Receiver info1 = ids.create(CommandType.TAKE); public ReceiveUpdateRectangle(){ info.setKey("Holder"); info1.setKey("decodeInfo"); } public void run() { ZRLEDecoder decoder = new ZRLEDecoder(); RenderAndControllerHolder holder = info.asClass(RenderAndControllerHolder.class); DecodeInfo decodeInfo = info1.asClass(DecodeInfo.class); try { decoder.decode(decodeInfo, holder.renderer); FramebufferUpdateRectangle rect = new FramebufferUpdateRectangle( decodeInfo.x, decodeInfo.y, decodeInfo.width, decodeInfo.height); rect.encodingType = EncodingType.byId(decodeInfo.encodingTypeId); holder.repaintController.repaintBitmap(rect); } catch (TransportException e) { e.printStackTrace(); } new ReceiveUpdateRectangle(); } }