From 734185567eb5f8b2a6fce3213a2dea384529e1dc Mon Sep 17 00:00:00 2001 From: Jan Luebbe <jluebbe@debian.org> Date: Sun, 4 May 2014 01:48:29 +0200 Subject: [PATCH] Add support for blits and vertical splits --- python/client.py | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/python/client.py b/python/client.py index 4df46b8..6829992 100644 --- a/python/client.py +++ b/python/client.py @@ -1,14 +1,26 @@ #!/usr/bin/python +import os + +SPLIT_N = 1 +SPLIT_I = 0 + +SPLIT = os.environ.get("SPLIT") +if SPLIT: + SPLIT = map(int, SPLIT.split('/')) + SPLIT_N = SPLIT[1] + SPLIT_I = SPLIT[0]-1 + PWIDTH = 5 -WIDTH = PWIDTH*96 +WIDTH = PWIDTH*96/SPLIT_N +WOFFSET = WIDTH*SPLIT_I PHEIGHT = 7 PPAD = 5 HEIGHT = PHEIGHT*10 import sys -SERVER = "tcp://localhost:5571" +SERVER = "tcp://localhost:5570" if len(sys.argv) >= 2: SERVER = sys.argv[1] @@ -21,6 +33,7 @@ socket = context.socket(zmq.REQ) socket.connect(SERVER) def set_pixel(x, y, v): + x += WOFFSET tx = struct.pack('<BiiB', 0, x, y, v) socket.send_multipart([tx, b'']) rx = socket.recv() @@ -29,7 +42,15 @@ def set_pixel(x, y, v): def set_pixels(pixels): msg = [] for x, y, v in pixels: + x += WOFFSET msg.append(struct.pack('<BiiB', 0, x, y, v)) socket.send_multipart(msg + [b'']) rx = socket.recv() +def blit(x, y, w, h, pixels): + x += WOFFSET + assert w*h == len(pixels) + msg = struct.pack('<Biiii', 1, x, y, w, h)+b''.join(map(chr, pixels)) + socket.send_multipart([msg, b'']) + rx = socket.recv() + -- GitLab