def CreateTileDisplayStreamObject(address, screenRect, pos, absRect, fullRect, blend=True, scale=None): #from streamView import StreamView, StartStreamViewLoop #streamView = StreamView() ##obj = CreateObj(None, imagePos=(0, 0), obj=streamView) ##objectsListList.append(obj) #StartStreamViewLoop(address) #return streamView #obj = glTxtrBox(imageFilename, screenRect=screenRect, imagePos=pos, absRect= absRect, fullRect=fullRect, blend=blend, cropRect=cropRect, scale=scale) streamObj = glStreamedTxtrBox(address, screenRect=screenRect, imagePos=pos, absRect= absRect, fullRect=fullRect, blend=blend, scale=scale) return streamObj
def __init__(self, address, objDesc, screenRect, fullRect, absRect, zoom=(4,4), pos=None, size=None, blend=False, cropRect=None, fps=None, scale=None, allowFrameSkip=True, gridColsRows=None, doCenter=True): BaseTileDisplayObject.__init__(self, screenRect=screenRect, fullRect=fullRect, absRect=absRect, zoom=zoom, pos=pos, size=size, blend=blend, cropRect=cropRect) self.address = address if gridColsRows == None: self.streamCols = 1 self.streamRows = 1 else: self.streamCols = gridColsRows[0] self.streamRows = gridColsRows[1] #self.streamWidth = 352 #self.streamHeight = 288 self.streamWidth = objDesc.streamWidth self.streamHeight = objDesc.streamHeight if scale != None: self.streamWidth *= scale[0] self.streamHeight *= scale[1] addVisibleSeparation = False if addVisibleSeparation: self.streamWidth += 3 self.streamHeight += 3 self.size = self.streamCols * self.streamWidth, self.streamRows * self.streamHeight self.streamObjs = [] # print "GROUP:", self.pos, self.size if doCenter: # center on pos self.setPos(pos[0] -self.size[0]/2, pos[1] - self.size[1]/2) for r in range(self.streamRows): for c in range(self.streamCols): objOffset = Vec2(c * self.streamWidth, r * self.streamHeight) #objPos = (self.pos[0] + c * self.streamWidth, self.pos[1] + r * self.streamHeight) objPos = Vec2(self.pos[0] + objOffset[0], self.pos[1] + objOffset[1]) streamObj = glStreamedTxtrBox(address, screenRect=screenRect, imagePos=objPos, absRect= absRect, fullRect=fullRect, blend=blend, scale=scale, streamState=StreamState(), streamWidth=objDesc.streamWidth, streamHeight=objDesc.streamHeight, vflip=objDesc.vflip) streamObj.groupOffset = objOffset self.streamObjs.append(streamObj) # information for sorting and aligning tiles self.targetLocationOrder = [] self.locations = [] for r in range(self.streamRows): for c in range(self.streamCols): self.locations.append(Vec2(c * self.streamWidth, r * self.streamHeight)) #nC = self.streamCols-c #self.targetLocationOrder.append(r*self.streamCols+c) self.initialObjOrder = list(self.streamObjs) # DEBUG #self.targetLocationOrder = [ 0, 1, 2, 3] # numbers for the location self.targetLocationOrder = range(self.streamRows*self.streamCols)
def CreateTileDisplayStreamObject(address, screenRect, pos, absRect, fullRect, blend=True, scale=None): #from streamView import StreamView, StartStreamViewLoop #streamView = StreamView() ##obj = CreateObj(None, imagePos=(0, 0), obj=streamView) ##objectsListList.append(obj) #StartStreamViewLoop(address) #return streamView #obj = glTxtrBox(imageFilename, screenRect=screenRect, imagePos=pos, absRect= absRect, fullRect=fullRect, blend=blend, cropRect=cropRect, scale=scale) streamObj = glStreamedTxtrBox(address, screenRect=screenRect, imagePos=pos, absRect=absRect, fullRect=fullRect, blend=blend, scale=scale) return streamObj