Example #1
0
static int prepare_data(PyObject *obj, xorn_obtype_t *type_return,
				       const void **data_return)
{
	if (PyObject_TypeCheck(obj, &ArcType))
		prepare_arc((Arc *)obj, type_return, data_return);
	else if (PyObject_TypeCheck(obj, &BoxType))
		prepare_box((Box *)obj, type_return, data_return);
	else if (PyObject_TypeCheck(obj, &CircleType))
		prepare_circle((Circle *)obj, type_return, data_return);
	else if (PyObject_TypeCheck(obj, &ComponentType))
		prepare_component((Component *)obj, type_return, data_return);
	else if (PyObject_TypeCheck(obj, &LineType))
		prepare_line((Line *)obj, type_return, data_return);
	else if (PyObject_TypeCheck(obj, &NetType))
		prepare_net((Net *)obj, type_return, data_return);
	else if (PyObject_TypeCheck(obj, &PathType))
		prepare_path((Path *)obj, type_return, data_return);
	else if (PyObject_TypeCheck(obj, &PictureType))
		prepare_picture((Picture *)obj, type_return, data_return);
	else if (PyObject_TypeCheck(obj, &TextType))
		prepare_text((Text *)obj, type_return, data_return);
	else
		return -1;

	return 0;
}
Example #2
0
std::shared_ptr<brig::rowset> layer_raster::attributes(const frame& fr)
{
  size_t level(get_level(fr));
  auto tbl(get_table_def(level));
  for (size_t i(0); i < tbl.columns.size(); ++i)
    if (tbl.columns[i].name == m_raster.levels[level].geometry.qualifier)
      tbl.columns[i].query_value = prepare_box(fr);
  tbl.query_rows = int(brig::PageSize);
  return get_provider()->select(tbl);
}