uint32_t MCStack::view_getcompositortilesize() { if (m_view_tilecache == nil) return 0; else return MCTileCacheGetTileSize(m_view_tilecache); }
bool MCTileCacheCoreGraphicsCompositor_BeginFrame(void *p_context, MCStackSurface *p_surface, MCGRegionRef p_dirty) { MCTileCacheCoreGraphicsCompositorContext *self; self = (MCTileCacheCoreGraphicsCompositorContext *)p_context; void *t_target; if (!p_surface -> LockTarget(kMCStackSurfaceTargetCoreGraphics, t_target)) return false; self -> tile_size = MCTileCacheGetTileSize(self -> tilecache); self -> viewport_height = MCTileCacheGetViewport(self -> tilecache) . height; self -> cgcontext = (CGContextRef)t_target; return true; }
bool MCTileCacheSoftwareCompositor_BeginFrame(void *p_context, MCStackSurface *p_surface, MCRegionRef p_dirty) { MCTileCacheSoftwareCompositorContext *self; self = (MCTileCacheSoftwareCompositorContext *)p_context; MCGRaster t_raster; if (!p_surface -> LockPixels(p_dirty, t_raster)) return false; self -> bits = t_raster . pixels; self -> stride = t_raster . stride; MCMemoryDeallocate(self -> tile_row); self -> tile_row = nil; self -> tile_row_color = 0; self -> tile_size = MCTileCacheGetTileSize(self -> tilecache); self -> dirty = MCRegionGetBoundingBox(p_dirty); self -> clip = self -> dirty; self -> combiner = s_surface_combiners_nda[GXcopy]; self -> opacity = 255; return true; }