OSDN Git Service

FUJIFILM用画像詳細画面で、タイミングによってはスモールイメージを使用できるようにした。
[gokigen/Gr2Control.git] / app / src / main / java / net / osdn / gokigen / gr2control / camera / fuji_x / wrapper / command / messages / GetScreenNail.java
1 package net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages;
2
3
4
5 import androidx.annotation.NonNull;
6
7 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXCommandCallback;
8 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXMessages;
9
10 public class GetScreenNail  extends FujiXCommandBase
11 {
12     private final IFujiXCommandCallback callback;
13     private final byte lower;
14     private final byte upper;
15     private final byte data0;
16     private final byte data1;
17     private final byte data2;
18     private final byte data3;
19
20     public GetScreenNail(int indexNumber, int imageSize, @NonNull IFujiXCommandCallback callback)
21     {
22         this.lower = ((byte) (0x000000ff & indexNumber));
23         this.upper = ((byte)((0x0000ff00 & indexNumber) >> 8));
24
25         data0 = ((byte) (0x000000ff & imageSize));
26         data1 = ((byte)((0x0000ff00 & imageSize) >> 8));
27         data2 = ((byte)((0x00ff0000 & imageSize) >> 16));
28         data3 = ((byte)((0xff000000 & imageSize) >> 24));
29         this.callback = callback;
30     }
31
32     @Override
33     public IFujiXCommandCallback responseCallback()
34     {
35         return (callback);
36     }
37
38     @Override
39     public int getId()
40     {
41         return (IFujiXMessages.SEQ_FULL_IMAGE);
42     }
43
44     @Override
45     public byte[] commandBody()
46     {
47         return (new byte[] {
48
49                 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
50                 (byte)0x01, (byte)0x00,
51
52                 // message_header.type : full_image (0x101b)
53                 (byte)0x1b, (byte)0x10,
54
55                 // sequence number
56                 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
57
58                 // data ... (index number)
59                 lower, upper, (byte)0x00, (byte)0x00,
60
61                 // 現物合わせ1  : 0~ 
62                 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
63
64                 // 現物合わせ2  : ~0x01000000 bytes
65                 data0, data1, data2, data3,
66         });
67     }
68     @Override
69     public boolean dumpLog()
70     {
71         return (false);
72     }
73 }