gyorgyf@5: #!/usr/bin/env python gyorgyf@5: # encoding: utf-8 gyorgyf@5: """ gyorgyf@5: visclient.py gyorgyf@5: gyorgyf@5: Created by George Fazekas on 2012-06-17. gyorgyf@5: Copyright (c) 2012 . All rights reserved. gyorgyf@5: """ gyorgyf@5: gyorgyf@5: import sys,os gyorgyf@5: import pygame as pg gyorgyf@5: from pygame.locals import * gyorgyf@5: import httplib as ht gyorgyf@5: gyorgyf@5: import gradients gyorgyf@5: from gradients import genericFxyGradient gyorgyf@5: gyorgyf@5: # from pytagcloud import create_tag_image, make_tags gyorgyf@5: # from pytagcloud.lang.counter import get_tag_counts gyorgyf@5: gyorgyf@5: # YOUR_TEXT = "A tag cloud is a visual representation for text data, typically\ gyorgyf@5: # used to depict keyword metadata on websites, or to visualize free form text." gyorgyf@5: # gyorgyf@5: # tags = make_tags(get_tag_counts(YOUR_TEXT), maxsize=120) gyorgyf@5: # gyorgyf@5: # create_tag_image(tags, 'cloud_large.png', size=(900, 600), fontname='Lobster') gyorgyf@5: gyorgyf@5: gyorgyf@5: gyorgyf@5: def main(): gyorgyf@5: gyorgyf@5: conn = ht.HTTPConnection("192.168.2.184:8030") gyorgyf@5: gyorgyf@5: pg.init() gyorgyf@5: fontObj = pg.font.Font("freesansbold.ttf",18) gyorgyf@5: gyorgyf@5: white = ( 255, 255, 255) gyorgyf@5: black = ( 0,0,0) gyorgyf@5: fpsClock = pg.time.Clock() gyorgyf@5: screen = pg.display.set_mode((1024, 768)) gyorgyf@5: rect_x,rect_y=50,50 gyorgyf@5: rect_xp,rect_yp=50,50 gyorgyf@5: rect_change_x,rect_change_y=5,5 gyorgyf@5: counter = 0 gyorgyf@5: scol = (0,255,0,255) gyorgyf@5: # ecol = (100,0,50,255) gyorgyf@5: ecol = (0,0,0,255) gyorgyf@5: coordstxt = "test" gyorgyf@5: gyorgyf@5: while True : gyorgyf@5: pg.draw.circle(screen, pg.Color(255,0,0), (300,50),20,0) gyorgyf@5: # screen.blit(gradients.radial(99, scol, ecol), (401, 1)) gyorgyf@5: gyorgyf@5: for event in pg.event.get() : gyorgyf@5: if event.type == QUIT: gyorgyf@5: conn.close() gyorgyf@5: pg.quit() gyorgyf@5: sys.exit() gyorgyf@5: elif event.type == KEYDOWN : gyorgyf@5: if event.key == K_ESCAPE : gyorgyf@5: pg.event.post(pg.event.Event(QUIT)) gyorgyf@5: gyorgyf@5: # put text gyorgyf@5: txtObj = fontObj.render(coordstxt,True,pg.Color(254,254,254)) gyorgyf@5: rectObj = txtObj.get_rect() gyorgyf@5: rectObj.topleft = (10,20) gyorgyf@5: # rectObj.fill(pg.Color(254,254,254)) gyorgyf@5: screen.blit(txtObj,rectObj) gyorgyf@5: gyorgyf@5: gyorgyf@5: # Draw the rectangle gyorgyf@5: # pg.draw.rect(screen,black,[rect_xp,rect_yp,50,50]) gyorgyf@5: screen.blit(gradients.radial(99, ecol, ecol), (rect_xp,rect_yp)) gyorgyf@5: gyorgyf@5: rect_xp,rect_yp = rect_x,rect_y gyorgyf@5: # pg.draw.rect(screen,white,[rect_x,rect_y,50,50]) gyorgyf@5: screen.blit(gradients.radial(99, scol, ecol), (rect_x,rect_y)) gyorgyf@5: gyorgyf@5: gyorgyf@5: # Move the rectangle starting point gyorgyf@5: # rect_x += rect_change_x gyorgyf@5: # rect_y += rect_change_y gyorgyf@5: counter += 1 gyorgyf@5: if counter % 12 : gyorgyf@5: counter = 0 gyorgyf@5: try : gyorgyf@5: conn.request("GET","/moodconductor/result") gyorgyf@5: res = conn.getresponse() gyorgyf@5: data = eval(res.read()) gyorgyf@5: coordstxt = "x:%s y:%s" %data gyorgyf@5: rect_x = data[0] * 300 gyorgyf@5: rect_y = data[1] * 1000 gyorgyf@5: conn.close() gyorgyf@5: except : gyorgyf@5: pass gyorgyf@5: gyorgyf@5: gyorgyf@5: gyorgyf@5: # Bounce the ball if needed gyorgyf@5: if rect_y > 450 or rect_y < 0: gyorgyf@5: rect_change_y = rect_change_y * -1 gyorgyf@5: if rect_x > 650 or rect_x < 0: gyorgyf@5: rect_change_x = rect_change_x * -1 gyorgyf@5: gyorgyf@5: # pg.display.update() gyorgyf@5: pg.display.flip() gyorgyf@5: fpsClock.tick(50) gyorgyf@5: gyorgyf@5: gyorgyf@5: # if raw_input("quit?") in ['y'] : gyorgyf@5: # pg.quit() gyorgyf@5: gyorgyf@5: pass gyorgyf@5: gyorgyf@5: gyorgyf@5: if __name__ == '__main__': gyorgyf@5: pass gyorgyf@5: main() gyorgyf@5: