コード例 #1
0
ファイル: OpenView.py プロジェクト: donbro/openworld
    def initWithFrame_(self, frame):

        print "initWithFrame",  frame

        self._location = self._locationDefault
        self._itemColor = self._itemColorDefault
        self._backgroundColor = self._backgroundColorDefault

        
        self.dragging = None
        
        result = super(OpenView, self).initWithFrame_(frame)

        # self.setBounds_( (0,0) , self.window().frame.size )

        printB("initWithFrame",  self ,all_names=True)
        # printB("view.initWithFrame", self, add=['frame','bounds'])

        print "result of super(OpenView, self).initWithFrame_(frame) is", result
        if result is None:
            return result

        # // setup the CALayer for the overall full-screen view

        #
        #   backing layer
        #
        
        backingLayer = getQCCompLayer()
        frame = self.frame()
        backingLayer.setBounds_( ((0, 0), (frame.size.width, frame.size.height)) )
        
        # backingLayer.setFrame_(  view.frame() )      
        # backingLayer.frame = NSRectToCGRect(frame);
        # backingLayer.backgroundColor = CGColorCreateGenericRGB(1, 1, 1, 1.0);
        backingLayer.setOpaque_(objc.YES)

        # 
        # printB("QCLayer", backingLayer)
        # 
        # 
        # print_setters(backingLayer)
    
        if True:
            # rootLayer = CALayer.layer()
            self.setLayer_(backingLayer)
            self.setWantsLayer_( objc.YES )
            rootLayer = backingLayer            
        else:
            self.setWantsLayer_( objc.YES )
            rootLayer = self.layer()

        # printB("initWithFrame (super)",  super(OpenView, self) )
        # printB("initWithFrame (view)",  self )        


        printB("View",  self ) # frame = bounds for origin (0,0)?
        # print_setters(self, add=['bounds', 'frame'])

        printB("rootLayer", rootLayer, add=['bounds'])


        #
        #   overlay Layer
        #
        #  The overlay layer is used to draw any drag handles, so that they are always on top of all slides. 
        #  We must take care to make sure this layer is always the last one.
        #
        
        overlayLayer = MyOverLayer.layer() # (_LTOverlayLayer was MyOverLayer)
        overlayLayer.setFrame_( backingLayer.frame() ) # view.frame() )      
        overlayLayer.setOpaque_( objc.NO )

        borderWidth = 4.0
        overlayLayer.setBorderWidth_(borderWidth)
        # borderColor = CGColorCreateGenericGray(.4, 0.75)
        borderColor = CGColorCreateGenericRGB(1, 0.5, 0.2, 0.8);
        overlayLayer.setBorderColor_( borderColor )         
        
        zPosition = 20
        
        overlayLayer.setZPosition_(zPosition)

        #   zPosition
        #
        # Increasing zPosition moves the layer towards the front
        # Decreasing it moves it away and towards the back
        #

        # We want to be the delegate so we can do the drag handle drawing        
        overlayLayer.setDelegate_(self)
        # overlayLayer.backgroundColor = CGColorCreateGenericRGB(0, 0, 0, 0.0);
        # overlayLayer.autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable;

        # printB("overlayLayer", overlayLayer, all_names=True)
        # printB("overlayLayer", overlayLayer, only = ['borderColor', 'borderWidth', 'bounds'] )

        backingLayer.addSublayer_(overlayLayer)

        layerDict = {
            'origin' : (420,120),
            'size'  :  (120,120),
            'zPosition'  :  12,
            'image_path'  :  "/Users/donb/projects/openworld/gray button 96px.psd",
            'cornerRadius'  :  16,
            'borderWidth'  :  1.0,
        }

        testLayer = createLayer(**layerDict)
        rootLayer.addSublayer_(testLayer)

        layerDict = {
            'origin' : (420,120),
            'size'  :  (120,120),
            'zPosition'  :  12,
            'image_path'  :  "/Users/donb/projects/openworld/gray button 96px.psd",
            'cornerRadius'  :  16,
            'borderWidth'  :  1.0,
        }
        # 
        # testLayer = createLayer(**layerDict)
        # rootLayer.addSublayer_(testLayer)
        # 
        
        app = NSApp()
        applicationIconImage=app.applicationIconImage()

        layerDict['image']=applicationIconImage
        layerDict['origin']=(100,400)
        layerDict['size']=applicationIconImage.size()
        testLayer3 = createLayer( **layerDict)
        rootLayer.addSublayer_(testLayer3)
        

        # printB("testLayer3",  testLayer3  ) # frame = bounds for origin (0,0)?

        
        
        # lake_picture_path = "/Library/Desktop Pictures/Lake.jpg"    
        # theLakeImage = getImage(lake_picture_path)

        layerDict['origin']=(300,300)
        layerDict['image_path']="/Library/Desktop Pictures/Lake.jpg"
        del layerDict['image']        
        layerDict['size']=(300,300)

        testLayer2 = createLayer( **layerDict)
        rootLayer.addSublayer_(testLayer2)


 
        layerDict['origin']=(420,60)
        layerDict['text_string']="full-size and on the 1080p LCD"
        layerDict['zPosition'] = 20
        layerDict['textColor']=NSColor.blackColor()
        
        del layerDict['image_path']
        
        testLayer3 = createTextLayer( **layerDict)
        rootLayer.addSublayer_(testLayer3)



        whiteColor = CGColorCreateGenericRGB(0.0, 0.5, 1.0, 1.0)

        layerDict['textColor']=NSColor.whiteColor()
        layerDict['zPosition'] = 19
        
        testLayer4 = createTextLayer(**layerDict)
        rootLayer.addSublayer_(testLayer4)

        blurFilter = CIFilter.filterWithName_("CIGaussianBlur")
 
        blurFilter.setDefaults()
        # blurFilter.setValue_forKey_( 2.0, "inputRadius" )
        blurFilter.setValue_forKey_( .75, "inputRadius" )
        blurFilter.setName_("blur")
 
        testLayer4.setFilters_( [blurFilter] )
        # // init ivars
        # _slides = [[NSMutableArray array] retain];
        # self.selectionIndexes = [NSIndexSet indexSet];

        # // init the input trackers
        # [self _initTrackers];

        # // register for dragging
        # [self registerForDraggedTypes:[NSArray arrayWithObject:(NSString *)kUTTypeFileURL]];

        # // we want touch events
        self.setAcceptsTouchEvents_(objc.YES)
     
    
        return result