def create_leaf(cls, rooto, leaf_obj, leaf_rect): rect = Rect(leaf_rect.x, leaf_rect.y, leaf_rect.xx, leaf_rect.yy) rect.swapped_x = True # Mark as leaf by setting the xswap flag. res = _NodeCursor.create(rooto, rect) idx = res.index res.first_child = rooto.leaf_count rooto.leaf_count += 1 res.next_sibling = 0 rooto.leaf_pool.append(leaf_obj) res._save_back() res._become(idx) assert (res.is_leaf()) return res