Exemplo n.º 1
0
void OBSBasic::AddSourceWithProperty(const char *id)
{
	size_t curTime = base::Time::Now().ToTimeT();

	const char *src_name = obs_source_get_display_name(id);

	std::ostringstream os;
	os << src_name << "_" << curTime;

	std::string name = os.str();

	OBSScene scene = GetCurrentScene();
	if (!scene)
		return;

	obs_source_t * source = obs_source_create(id, name.c_str(), NULL, nullptr);
	if (source) {
		obs_scene_atomic_update(scene, [](void *data, obs_scene_t *scene){
			obs_scene_add(scene, (obs_source_t *)data);
		}, source);
	}

	CreatePropertiesWindow(source, true);
	obs_source_release(source);
}
Exemplo n.º 2
0
static void ShowProperties(HWND parent, Doc doc, DisplayModel *dm, bool extended=false)
{
    PropertiesLayout *layoutData = FindPropertyWindowByParent(parent);
    if (layoutData) {
        SetActiveWindow(layoutData->hwnd);
        return;
    }

    if (!doc.IsEngine() && !doc.IsEbook())
        return;
    layoutData = new PropertiesLayout();
    gPropertiesWindows.Append(layoutData);
    GetProps(doc, layoutData, dm, extended);

    if (!CreatePropertiesWindow(parent, layoutData))
        delete layoutData;
}
Exemplo n.º 3
0
static void ShowProperties(HWND parent, Controller *ctrl, bool extended=false)
{
    PropertiesLayout *layoutData = FindPropertyWindowByParent(parent);
    if (layoutData) {
        SetActiveWindow(layoutData->hwnd);
        return;
    }

    if (!ctrl)
        return;
    layoutData = new PropertiesLayout();
    gPropertiesWindows.Append(layoutData);
    GetProps(ctrl, layoutData, extended);

    if (!CreatePropertiesWindow(parent, layoutData))
        delete layoutData;
}
Exemplo n.º 4
0
	void EditorWorld::CreatePropertiesWindow(const EntityPtr& entity, const std::function<void (void)>& close_callback)
	{
		std::vector<EntityPtr> e;
		e.push_back(entity);
		CreatePropertiesWindow(e, close_callback);
	}