# HG changeset patch # User e165729 # Date 1570949633 -32400 # Node ID 2840e75d2fd77e33fa3f87da4b3b2f8021415ad9 # Parent b86d445685c71366808c8a9d1840f0019f502c33 add comment diff -r b86d445685c7 -r 2840e75d2fd7 .idea/libraries/Gradle__com_jcraft_jsch_0_1_50.xml --- a/.idea/libraries/Gradle__com_jcraft_jsch_0_1_50.xml Tue Sep 10 17:03:16 2019 +0900 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff -r b86d445685c7 -r 2840e75d2fd7 src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java --- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java Tue Sep 10 17:03:16 2019 +0900 +++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEDecoder.java Sun Oct 13 15:53:53 2019 +0900 @@ -48,11 +48,11 @@ private int deflate_size = 65507; // 圧縮サイズ private ByteBuffer c1; // パケット? private int width; // phase2 length - private FramebufferUpdateRectangle c1rect; + private FramebufferUpdateRectangle c1rect; // c1が構成する長方形 private int c1headerPos; private int prevLineOffset; private int prevC1Offset; - private int prevoffset; + private int prevoffset; // 前回までのoffset private Deflater deflater; // 圧縮クラス private int rectPos; private int ztileInLine; @@ -105,7 +105,7 @@ deflater = rfb.deflater; // TreeRFBProtでoverrideしたdeflater(圧縮クラス)を使用 newMulticastPacket(rfb, rect); c1.put(header.get(0)); // headerの0番目をc1に入れる - c1rect = new FramebufferUpdateRectangle(rect.x, rect.y, 0, 0); // rectangleのインスタンス生成 + c1rect = new FramebufferUpdateRectangle(rect.x, rect.y, 0, 0); // rectangleのインスタンス生成(x,y, wide, height)を設定 if (!blocking) { deflater.setInput(bytes,0,prevoffset); // bytesを圧縮データとして0からprevoffsetまでをdeflater内部にセットする deflater.deflate(c1); // setInputで入力したデータを圧縮してc1に入れる @@ -197,8 +197,8 @@ deflater.setInput(bytes,prevoffset,span); // prevoffsetからspanまでに圧縮データを入れる prevoffset = offset; // prevoffsetの更新 c1rect.width += tileW; width += tileW; // prevoffsetが更新されたのでwidthもタイル一つ分更新? - if (c1rect.x > rect.x) { // phase 0 引数の場所よりも容量が大きい場合 = 行の途中から始まって行の最後までの間 - if (c1rect.x+c1rect.width < rect.x+rect.width) { + if (c1rect.x > rect.x) { // phase 0 引数の場所よりもc1が構成する長方形のxが大きい場合 = 行の途中から始まって行の最後までの間 + if (c1rect.x+c1rect.width < rect.x+rect.width) { // compressAndCheckFlush(rfb, rect, bytes, offset,false, last); } else { c1rect.width = rect.x+rect.width-c1rect.x ;