您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CTX_wm_screen函数代码示例

51自学网 2021-06-01 20:07:04
  C++
这篇教程C++ CTX_wm_screen函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CTX_wm_screen函数的典型用法代码示例。如果您正苦于以下问题:C++ CTX_wm_screen函数的具体用法?C++ CTX_wm_screen怎么用?C++ CTX_wm_screen使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CTX_wm_screen函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: ED_view3d_context_activate

bool ED_view3d_context_activate(bContext *C){	bScreen *sc = CTX_wm_screen(C);	ScrArea *sa = CTX_wm_area(C);	ARegion *ar;	/* sa can be NULL when called from python */	if (sa == NULL || sa->spacetype != SPACE_VIEW3D) {		sa = BKE_screen_find_big_area(sc, SPACE_VIEW3D, 0);	}	if (sa == NULL) {		return false;	}		ar = BKE_area_find_region_active_win(sa);	if (ar == NULL) {		return false;	}		/* bad context switch .. */	CTX_wm_area_set(C, sa);	CTX_wm_region_set(C, ar);	return true;}
开发者ID:pawkoz,项目名称:dyplom,代码行数:26,


示例2: graph_panel_view

/* Graph Editor View Settings */static void graph_panel_view(const bContext *C, Panel *pa){	bScreen *sc = CTX_wm_screen(C);	SpaceIpo *sipo = CTX_wm_space_graph(C);	Scene *scene = CTX_data_scene(C);	PointerRNA spaceptr, sceneptr;	uiLayout *col, *sub, *row;		/* get RNA pointers for use when creating the UI elements */	RNA_id_pointer_create(&scene->id, &sceneptr);	RNA_pointer_create(&sc->id, &RNA_SpaceGraphEditor, sipo, &spaceptr);	/* 2D-Cursor */	col = uiLayoutColumn(pa->layout, FALSE);	uiItemR(col, &spaceptr, "show_cursor", 0, NULL, ICON_NONE);			sub = uiLayoutColumn(col, TRUE);	uiLayoutSetActive(sub, RNA_boolean_get(&spaceptr, "show_cursor"));	uiItemO(sub, IFACE_("Cursor from Selection"), ICON_NONE, "GRAPH_OT_frame_jump");	sub = uiLayoutColumn(col, TRUE);	uiLayoutSetActive(sub, RNA_boolean_get(&spaceptr, "show_cursor"));	row = uiLayoutSplit(sub, 0.7f, TRUE);	uiItemR(row, &sceneptr, "frame_current", 0, IFACE_("Cursor X"), ICON_NONE);	uiItemEnumO(row, "GRAPH_OT_snap", IFACE_("To Keys"), 0, "type", GRAPHKEYS_SNAP_CFRA);	row = uiLayoutSplit(sub, 0.7f, TRUE);	uiItemR(row, &spaceptr, "cursor_position_y", 0, IFACE_("Cursor Y"), ICON_NONE);	uiItemEnumO(row, "GRAPH_OT_snap", IFACE_("To Keys"), 0, "type", GRAPHKEYS_SNAP_VALUE);}
开发者ID:vanangamudi,项目名称:blender-main,代码行数:30,


示例3: depthdropper_depth_sample_pt

/** * /brief get the ID from the screen. */static void depthdropper_depth_sample_pt(    bContext *C, DepthDropper *ddr, int mx, int my, float *r_depth){  /* we could use some clever */  bScreen *screen = CTX_wm_screen(C);  ScrArea *sa = BKE_screen_find_area_xy(screen, SPACE_TYPE_ANY, mx, my);  Scene *scene = CTX_data_scene(C);  ScrArea *area_prev = CTX_wm_area(C);  ARegion *ar_prev = CTX_wm_region(C);  ddr->name[0] = '/0';  if (sa) {    if (sa->spacetype == SPACE_VIEW3D) {      ARegion *ar = BKE_area_find_region_xy(sa, RGN_TYPE_WINDOW, mx, my);      if (ar) {        struct Depsgraph *depsgraph = CTX_data_depsgraph(C);        View3D *v3d = sa->spacedata.first;        RegionView3D *rv3d = ar->regiondata;        /* weak, we could pass in some reference point */        const float *view_co = v3d->camera ? v3d->camera->obmat[3] : rv3d->viewinv[3];        const int mval[2] = {mx - ar->winrct.xmin, my - ar->winrct.ymin};        float co[3];        CTX_wm_area_set(C, sa);        CTX_wm_region_set(C, ar);        /* grr, always draw else we leave stale text */        ED_region_tag_redraw(ar);        view3d_operator_needs_opengl(C);        if (ED_view3d_autodist(depsgraph, ar, v3d, mval, co, true, NULL)) {          const float mval_center_fl[2] = {(float)ar->winx / 2, (float)ar->winy / 2};          float co_align[3];          /* quick way to get view-center aligned point */          ED_view3d_win_to_3d(v3d, ar, co, mval_center_fl, co_align);          *r_depth = len_v3v3(view_co, co_align);          bUnit_AsString2(ddr->name,                          sizeof(ddr->name),                          (double)*r_depth,                          4,                          B_UNIT_LENGTH,                          &scene->unit,                          false);        }        else {          BLI_strncpy(ddr->name, "Nothing under cursor", sizeof(ddr->name));        }      }    }  }  CTX_wm_area_set(C, area_prev);  CTX_wm_region_set(C, ar_prev);}
开发者ID:dfelinto,项目名称:blender,代码行数:63,


示例4: CTX_wm_screen

/* would use BKE_screen_find_big_area(...) but this is too specific            */static ScrArea *biggest_non_image_area(bContext *C){	bScreen *sc = CTX_wm_screen(C);	ScrArea *sa, *big = NULL;	int size, maxsize = 0, bwmaxsize = 0;	short foundwin = 0;	for (sa = sc->areabase.first; sa; sa = sa->next) {		if (sa->winx > 30 && sa->winy > 30) {			size = sa->winx * sa->winy;			if (sa->spacetype == SPACE_BUTS) {				if (foundwin == 0 && size > bwmaxsize) {					bwmaxsize = size;					big = sa;				}			}			else if (sa->spacetype != SPACE_IMAGE && size > maxsize) {				maxsize = size;				big = sa;				foundwin = 1;			}		}	}	return big;}
开发者ID:danielmarg,项目名称:blender-main,代码行数:27,


示例5: uilist_draw_item

static void uilist_draw_item(uiList *ui_list, bContext *C, uiLayout *layout, PointerRNA *dataptr, PointerRNA *itemptr,                             int icon, PointerRNA *active_dataptr, const char *active_propname, int index, int flt_flag){	extern FunctionRNA rna_UIList_draw_item_func;	PointerRNA ul_ptr;	ParameterList list;	FunctionRNA *func;	RNA_pointer_create(&CTX_wm_screen(C)->id, ui_list->type->ext.srna, ui_list, &ul_ptr);	func = &rna_UIList_draw_item_func; /* RNA_struct_find_function(&ul_ptr, "draw_item"); */	RNA_parameter_list_create(&list, &ul_ptr, func);	RNA_parameter_set_lookup(&list, "context", &C);	RNA_parameter_set_lookup(&list, "layout", &layout);	RNA_parameter_set_lookup(&list, "data", dataptr);	RNA_parameter_set_lookup(&list, "item", itemptr);	RNA_parameter_set_lookup(&list, "icon", &icon);	RNA_parameter_set_lookup(&list, "active_data", active_dataptr);	RNA_parameter_set_lookup(&list, "active_property", &active_propname);	RNA_parameter_set_lookup(&list, "index", &index);	RNA_parameter_set_lookup(&list, "flt_flag", &flt_flag);	ui_list->type->ext.call((bContext *)C, &ul_ptr, func, &list);	RNA_parameter_list_free(&list);}
开发者ID:Ichthyostega,项目名称:blender,代码行数:26,


示例6: ED_view3d_context_activate

bool ED_view3d_context_activate(bContext *C){	bScreen *sc = CTX_wm_screen(C);	ScrArea *sa = CTX_wm_area(C);	ARegion *ar;	/* sa can be NULL when called from python */	if (sa == NULL || sa->spacetype != SPACE_VIEW3D)		for (sa = sc->areabase.first; sa; sa = sa->next)			if (sa->spacetype == SPACE_VIEW3D)				break;	if (!sa)		return false;		for (ar = sa->regionbase.first; ar; ar = ar->next)		if (ar->regiontype == RGN_TYPE_WINDOW)			break;		if (!ar)		return false;		/* bad context switch .. */	CTX_wm_area_set(C, sa);	CTX_wm_region_set(C, ar);	return true;}
开发者ID:greg100795,项目名称:blender-git,代码行数:28,


示例7: tree_element_active_world

static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set){	TreeElement *tep;	TreeStoreElem *tselem = NULL;	Scene *sce = NULL;		tep = te->parent;	if (tep) {		tselem = TREESTORE(tep);		if (tselem->type == 0)			sce = (Scene *)tselem->id;	}		if (set) {  // make new scene active		if (sce && scene != sce) {			ED_screen_set_scene(C, CTX_wm_screen(C), sce);		}	}		if (tep == NULL || tselem->id == (ID *)scene) {		if (set) {// XXX			extern_set_butspace(F8KEY, 0);		}		else {			return 1;		}	}	return 0;}
开发者ID:danielmarg,项目名称:blender-main,代码行数:29,


示例8: read_undosave

static int read_undosave(bContext *C, UndoElem *uel){	char mainstr[sizeof(G.main->name)];	int success = 0, fileflags;		/* This is needed so undoing/redoing doesn't crash with threaded previews going */	WM_jobs_kill_all_except(CTX_wm_manager(C), CTX_wm_screen(C));	BLI_strncpy(mainstr, G.main->name, sizeof(mainstr));    /* temporal store */	fileflags = G.fileflags;	G.fileflags |= G_FILE_NO_UI;	if (UNDO_DISK) 		success = (BKE_read_file(C, uel->str, NULL) != BKE_READ_FILE_FAIL);	else		success = BKE_read_file_from_memfile(C, &uel->memfile, NULL);	/* restore */	BLI_strncpy(G.main->name, mainstr, sizeof(G.main->name)); /* restore */	G.fileflags = fileflags;	if (success) {		/* important not to update time here, else non keyed tranforms are lost */		DAG_on_visible_update(G.main, false);	}	return success;}
开发者ID:akonneker,项目名称:blensor,代码行数:29,


示例9: gpencil_panel_standard_header

void gpencil_panel_standard_header(const bContext *C, Panel *pa){	PointerRNA ptr;	RNA_pointer_create((ID *)CTX_wm_screen(C), &RNA_Space, CTX_wm_space_data(C), &ptr);	uiItemR(pa->layout, &ptr, "show_grease_pencil", 0, "", ICON_NONE);}
开发者ID:244xiao,项目名称:blender,代码行数:7,


示例10: outliner_do_object_operation

void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb,                                   void (*operation_cb)(bContext *C, Scene *scene, TreeElement *,                                                       TreeStoreElem *, TreeStoreElem *)){	TreeElement *te;	TreeStoreElem *tselem;		for (te = lb->first; te; te = te->next) {		tselem = TREESTORE(te);		if (tselem->flag & TSE_SELECTED) {			if (tselem->type == 0 && te->idcode == ID_OB) {				// when objects selected in other scenes... dunno if that should be allowed				Scene *scene_owner = (Scene *)outliner_search_back(soops, te, ID_SCE);				if (scene_owner && scene_act != scene_owner) {					ED_screen_set_scene(C, CTX_wm_screen(C), scene_owner);				}				/* important to use 'scene_owner' not scene_act else deleting objects can crash.				 * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the				 * outliner isn't showing scenes: Visible Layer draw mode for eg. */				operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem);			}		}		if (TSELEM_OPEN(tselem, soops)) {			outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb);		}	}}
开发者ID:244xiao,项目名称:blender,代码行数:27,


示例11: ed_marker_move_apply

/* note, init has to be called succesfully */static void ed_marker_move_apply(bContext *C, wmOperator *op){#ifdef DURIAN_CAMERA_SWITCH	bScreen *sc = CTX_wm_screen(C);	Scene *scene = CTX_data_scene(C);	Object *camera = scene->camera;#endif	MarkerMove *mm = op->customdata;	TimeMarker *marker;	int a, offs;		offs = RNA_int_get(op->ptr, "frames");	for (a = 0, marker = mm->markers->first; marker; marker = marker->next) {		if (marker->flag & SELECT) {			marker->frame = mm->oldframe[a] + offs;			a++;		}	}	WM_event_add_notifier(C, NC_SCENE | ND_MARKERS, NULL);	WM_event_add_notifier(C, NC_ANIMATION | ND_MARKERS, NULL);	#ifdef DURIAN_CAMERA_SWITCH	/* so we get view3d redraws */	BKE_scene_camera_switch_update(scene);	if (camera != scene->camera) {		BKE_screen_view3d_scene_sync(sc);		WM_event_add_notifier(C, NC_SCENE | NA_EDITED, scene);	}#endif}
开发者ID:JasonWilkins,项目名称:blender-wayland,代码行数:33,


示例12: ED_screen_do_listen

void ED_screen_do_listen(bContext *C, wmNotifier *note){  wmWindow *win = CTX_wm_window(C);  bScreen *screen = CTX_wm_screen(C);  /* generic notes */  switch (note->category) {    case NC_WM:      if (note->data == ND_FILEREAD) {        screen->do_draw = true;      }      break;    case NC_WINDOW:      screen->do_draw = true;      break;    case NC_SCREEN:      if (note->action == NA_EDITED) {        screen->do_draw = screen->do_refresh = true;      }      break;    case NC_SCENE:      if (note->data == ND_MODE) {        region_cursor_set(win, true);      }      break;  }}
开发者ID:dfelinto,项目名称:blender,代码行数:27,


示例13: actkeys_viewall

static int actkeys_viewall(bContext *C, const short onlySel){	bAnimContext ac;	View2D *v2d;	float extra;		/* get editor data */	if (ANIM_animdata_get_context(C, &ac) == 0)		return OPERATOR_CANCELLED;	v2d= &ac.ar->v2d;		/* set the horizontal range, with an extra offset so that the extreme keys will be in view */	get_keyframe_extents(&ac, &v2d->cur.xmin, &v2d->cur.xmax, onlySel);		extra= 0.1f * (v2d->cur.xmax - v2d->cur.xmin);	v2d->cur.xmin -= extra;	v2d->cur.xmax += extra;		/* set vertical range */	v2d->cur.ymax= 0.0f;	v2d->cur.ymin= (float)-(v2d->mask.ymax - v2d->mask.ymin);		/* do View2D syncing */	UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);		/* just redraw this view */	ED_area_tag_redraw(CTX_wm_area(C));		return OPERATOR_FINISHED;}
开发者ID:OldBrunet,项目名称:BGERTPS,代码行数:30,


示例14: editsource_exec

static int editsource_exec(bContext *C, wmOperator *op){  uiBut *but = UI_context_active_but_get(C);  if (but) {    GHashIterator ghi;    struct uiEditSourceButStore *but_store = NULL;    ARegion *ar = CTX_wm_region(C);    int ret;    /* needed else the active button does not get tested */    UI_screen_free_active_but(C, CTX_wm_screen(C));    // printf("%s: begin/n", __func__);    /* take care not to return before calling ui_editsource_active_but_clear */    ui_editsource_active_but_set(but);    /* redraw and get active button python info */    ED_region_do_layout(C, ar);    ED_region_do_draw(C, ar);    ar->do_draw = false;    for (BLI_ghashIterator_init(&ghi, ui_editsource_info->hash);         BLI_ghashIterator_done(&ghi) == false;         BLI_ghashIterator_step(&ghi)) {      uiBut *but_key = BLI_ghashIterator_getKey(&ghi);      if (but_key && ui_editsource_uibut_match(&ui_editsource_info->but_orig, but_key)) {        but_store = BLI_ghashIterator_getValue(&ghi);        break;      }    }    if (but_store) {      if (but_store->py_dbg_ln != -1) {        ret = editsource_text_edit(C, op, but_store->py_dbg_fn, but_store->py_dbg_ln);      }      else {        BKE_report(            op->reports, RPT_ERROR, "Active button is not from a script, cannot edit source");        ret = OPERATOR_CANCELLED;      }    }    else {      BKE_report(op->reports, RPT_ERROR, "Active button match cannot be found");      ret = OPERATOR_CANCELLED;    }    ui_editsource_active_but_clear();    // printf("%s: end/n", __func__);    return ret;  }  else {    BKE_report(op->reports, RPT_ERROR, "Active button not found");    return OPERATOR_CANCELLED;  }}
开发者ID:dfelinto,项目名称:blender,代码行数:60,


示例15: datadropper_id_sample_pt

/** * /brief get the ID from the screen. */static void datadropper_id_sample_pt(bContext *C, DataDropper *ddr, int mx, int my, ID **r_id){  /* we could use some clever */  bScreen *screen = CTX_wm_screen(C);  ScrArea *sa = BKE_screen_find_area_xy(screen, -1, mx, my);  ScrArea *area_prev = CTX_wm_area(C);  ARegion *ar_prev = CTX_wm_region(C);  ddr->name[0] = '/0';  if (sa) {    if (sa->spacetype == SPACE_VIEW3D) {      ARegion *ar = BKE_area_find_region_xy(sa, RGN_TYPE_WINDOW, mx, my);      if (ar) {        const int mval[2] = {mx - ar->winrct.xmin, my - ar->winrct.ymin};        Base *base;        CTX_wm_area_set(C, sa);        CTX_wm_region_set(C, ar);        /* grr, always draw else we leave stale text */        ED_region_tag_redraw(ar);        base = ED_view3d_give_base_under_cursor(C, mval);        if (base) {          Object *ob = base->object;          ID *id = NULL;          if (ddr->idcode == ID_OB) {            id = (ID *)ob;          }          else if (ob->data) {            if (GS(((ID *)ob->data)->name) == ddr->idcode) {              id = (ID *)ob->data;            }            else {              BLI_snprintf(                  ddr->name, sizeof(ddr->name), "Incompatible, expected a %s", ddr->idcode_name);            }          }          PointerRNA idptr;          RNA_id_pointer_create(id, &idptr);          if (id && RNA_property_pointer_poll(&ddr->ptr, ddr->prop, &idptr)) {            BLI_snprintf(ddr->name, sizeof(ddr->name), "%s: %s", ddr->idcode_name, id->name + 2);            *r_id = id;          }        }      }    }  }  CTX_wm_area_set(C, area_prev);  CTX_wm_region_set(C, ar_prev);}
开发者ID:dfelinto,项目名称:blender,代码行数:59,


示例16: bake_init_api_data

static void bake_init_api_data(wmOperator *op, bContext *C, BakeAPIRender *bkr){	bool is_save_internal;	bScreen *sc = CTX_wm_screen(C);	bkr->ob = CTX_data_active_object(C);	bkr->main = CTX_data_main(C);	bkr->scene = CTX_data_scene(C);	bkr->sa = sc ? BKE_screen_find_big_area(sc, SPACE_IMAGE, 10) : NULL;	bkr->pass_type = RNA_enum_get(op->ptr, "type");	bkr->pass_filter = RNA_enum_get(op->ptr, "pass_filter");	bkr->margin = RNA_int_get(op->ptr, "margin");	bkr->save_mode = RNA_enum_get(op->ptr, "save_mode");	is_save_internal = (bkr->save_mode == R_BAKE_SAVE_INTERNAL);	bkr->is_clear = RNA_boolean_get(op->ptr, "use_clear");	bkr->is_split_materials = (!is_save_internal) && RNA_boolean_get(op->ptr, "use_split_materials");	bkr->is_automatic_name = RNA_boolean_get(op->ptr, "use_automatic_name");	bkr->is_selected_to_active = RNA_boolean_get(op->ptr, "use_selected_to_active");	bkr->is_cage = RNA_boolean_get(op->ptr, "use_cage");	bkr->cage_extrusion = RNA_float_get(op->ptr, "cage_extrusion");	bkr->normal_space = RNA_enum_get(op->ptr, "normal_space");	bkr->normal_swizzle[0] = RNA_enum_get(op->ptr, "normal_r");	bkr->normal_swizzle[1] = RNA_enum_get(op->ptr, "normal_g");	bkr->normal_swizzle[2] = RNA_enum_get(op->ptr, "normal_b");	bkr->width = RNA_int_get(op->ptr, "width");	bkr->height = RNA_int_get(op->ptr, "height");	bkr->identifier = "";	RNA_string_get(op->ptr, "uv_layer", bkr->uv_layer);	RNA_string_get(op->ptr, "cage_object", bkr->custom_cage);	if ((!is_save_internal) && bkr->is_automatic_name) {		PropertyRNA *prop = RNA_struct_find_property(op->ptr, "type");		RNA_property_enum_identifier(C, op->ptr, prop, bkr->pass_type, &bkr->identifier);	}	CTX_data_selected_objects(C, &bkr->selected_objects);	bkr->reports = op->reports;	bkr->result = OPERATOR_CANCELLED;	bkr->render = RE_NewSceneRender(bkr->scene);	/* XXX hack to force saving to always be internal. Whether (and how) to support	 * external saving will be addressed later */	bkr->save_mode = R_BAKE_SAVE_INTERNAL;}
开发者ID:wisaac407,项目名称:blender,代码行数:54,


示例17: actkeys_viewall

static int actkeys_viewall(bContext *C, const bool only_sel){	bAnimContext ac;	View2D *v2d;	float extra, min, max;	bool found;		/* get editor data */	if (ANIM_animdata_get_context(C, &ac) == 0)		return OPERATOR_CANCELLED;	v2d = &ac.ar->v2d;		/* set the horizontal range, with an extra offset so that the extreme keys will be in view */	found = get_keyframe_extents(&ac, &min, &max, only_sel);	if (only_sel && (found == false))		return OPERATOR_CANCELLED;	v2d->cur.xmin = min;	v2d->cur.xmax = max;	extra = 0.1f * BLI_rctf_size_x(&v2d->cur);	v2d->cur.xmin -= extra;	v2d->cur.xmax += extra;		/* set vertical range */	if (only_sel == false) {		/* view all -> the summary channel is usually the shows everything, and resides right at the top... */		v2d->cur.ymax = 0.0f;		v2d->cur.ymin = (float)-BLI_rcti_size_y(&v2d->mask);	}	else {		/* locate first selected channel (or the active one), and frame those */		float ymin = v2d->cur.ymin;		float ymax = v2d->cur.ymax;				if (actkeys_channels_get_selected_extents(&ac, &ymin, &ymax)) {			/* recenter the view so that this range is in the middle */			float ymid = (ymax - ymin) / 2.0f + ymin;			float x_center;						UI_view2d_center_get(v2d, &x_center, NULL);			UI_view2d_center_set(v2d, x_center, ymid);		}	}		/* do View2D syncing */	UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);		/* just redraw this view */	ED_area_tag_redraw(CTX_wm_area(C));		return OPERATOR_FINISHED;}
开发者ID:pawkoz,项目名称:dyplom,代码行数:54,


示例18: wm_gesture_tag_redraw

void wm_gesture_tag_redraw(bContext *C){	wmWindow *win = CTX_wm_window(C);	bScreen *screen = CTX_wm_screen(C);	ARegion *ar = CTX_wm_region(C);		if (screen)		screen->do_draw_gesture = TRUE;	wm_tag_redraw_overlay(win, ar);}
开发者ID:danielmarg,项目名称:blender-main,代码行数:11,


示例19: CTX_wm_screen

static ARegion *region_event_inside_for_screen(bContext *C, const int xy[2]){  bScreen *sc = CTX_wm_screen(C);  if (sc) {    for (ARegion *ar = sc->regionbase.first; ar; ar = ar->next) {      if (BLI_rcti_isect_pt_v(&ar->winrct, xy)) {        return ar;      }    }  }  return NULL;}
开发者ID:dfelinto,项目名称:blender,代码行数:12,


示例20: change_frame_seq_preview_begin

static void change_frame_seq_preview_begin(bContext *C, const wmEvent *event){	ScrArea *sa = CTX_wm_area(C);	bScreen *screen = CTX_wm_screen(C);	if (sa && sa->spacetype == SPACE_SEQ) {		SpaceSeq *sseq = sa->spacedata.first;		if (ED_space_sequencer_check_show_strip(sseq)) {			ED_sequencer_special_preview_set(C, event->mval);		}	}	if (screen)		screen->scrubbing = true;}
开发者ID:UPBGE,项目名称:blender,代码行数:13,


示例21: panel_draw_header

static void panel_draw_header(const bContext *C, Panel *pnl){    PointerRNA ptr;    ParameterList list;    FunctionRNA *func;    RNA_pointer_create(&CTX_wm_screen(C)->id, pnl->type->ext.srna, pnl, &ptr);    func= RNA_struct_find_function(&ptr, "draw_header");    RNA_parameter_list_create(&list, &ptr, func);    RNA_parameter_set_lookup(&list, "context", &C);    pnl->type->ext.call((bContext *)C, &ptr, func, &list);    RNA_parameter_list_free(&list);}
开发者ID:BHCLL,项目名称:blendocv,代码行数:15,


示例22: menu_draw

static void menu_draw(const bContext *C, Menu *hdr){    PointerRNA mtr;    ParameterList list;    FunctionRNA *func;    RNA_pointer_create(&CTX_wm_screen(C)->id, hdr->type->ext.srna, hdr, &mtr);    func= RNA_struct_find_function(&mtr, "draw");    RNA_parameter_list_create(&list, &mtr, func);    RNA_parameter_set_lookup(&list, "context", &C);    hdr->type->ext.call((bContext *)C, &mtr, func, &list);    RNA_parameter_list_free(&list);}
开发者ID:BHCLL,项目名称:blendocv,代码行数:15,


示例23: screencast_exec

static int screencast_exec(bContext *C, wmOperator *op){    wmWindowManager *wm = CTX_wm_manager(C);    wmWindow *win = CTX_wm_window(C);    bScreen *screen = CTX_wm_screen(C);    wmJob *wm_job;    ScreenshotJob *sj;    /* if called again, stop the running job */    if (WM_jobs_test(wm, screen, WM_JOB_TYPE_SCREENCAST))        WM_jobs_stop(wm, screen, screenshot_startjob);    wm_job = WM_jobs_get(wm, win, screen, "Screencast", 0, WM_JOB_TYPE_SCREENCAST);    sj = MEM_callocN(sizeof(ScreenshotJob), "screenshot job");    /* setup sj */    if (RNA_boolean_get(op->ptr, "full")) {        sj->x = 0;        sj->y = 0;        sj->dumpsx = WM_window_pixels_x(win);        sj->dumpsy = WM_window_pixels_y(win);    }    else {        ScrArea *curarea = CTX_wm_area(C);        sj->x = curarea->totrct.xmin;        sj->y = curarea->totrct.ymin;        sj->dumpsx = curarea->totrct.xmax - sj->x;        sj->dumpsy = curarea->totrct.ymax - sj->y;    }    sj->bmain = CTX_data_main(C);    sj->scene = CTX_data_scene(C);    sj->wm = wm;    BKE_reports_init(&sj->reports, RPT_PRINT);    /* setup job */    WM_jobs_customdata_set(wm_job, sj, screenshot_freejob);    WM_jobs_timer(wm_job, 0.1, 0, NC_SCREEN | ND_SCREENCAST);    WM_jobs_callbacks(wm_job, screenshot_startjob, NULL, screenshot_updatejob, screenshot_endjob);    WM_jobs_start(sj->wm, wm_job);    screencast_cursor_toggle(sj->wm, 1);    WM_event_add_notifier(C, NC_SCREEN | ND_SCREENCAST, screen);    return OPERATOR_FINISHED;}
开发者ID:caomw,项目名称:blender-ui,代码行数:48,


示例24: wm_add_default

/* on startup, it adds all data, for matching */void wm_add_default(bContext *C){	wmWindowManager *wm= alloc_libblock(&CTX_data_main(C)->wm, ID_WM, "WinMan");	wmWindow *win;	bScreen *screen= CTX_wm_screen(C); /* XXX from file read hrmf */		CTX_wm_manager_set(C, wm);	win= wm_window_new(C);	win->screen= screen;	screen->winid= win->winid;	BLI_strncpy(win->screenname, screen->id.name+2, sizeof(win->screenname));		wm->winactive= win;	wm->file_saved= 1;	wm_window_make_drawable(C, win); }
开发者ID:mik0001,项目名称:Blender,代码行数:17,


示例25: draw_gpencil_space_specials

static void draw_gpencil_space_specials(const bContext *C, uiLayout *layout){	uiLayout *col, *row;	SpaceClip *sc = CTX_wm_space_clip(C);	col = uiLayoutColumn(layout, FALSE);	if (sc) {		bScreen *screen = CTX_wm_screen(C);		PointerRNA sc_ptr;		RNA_pointer_create(&screen->id, &RNA_SpaceClipEditor, sc, &sc_ptr);		row = uiLayoutRow(col, TRUE);		uiItemR(row, &sc_ptr, "grease_pencil_source", UI_ITEM_R_EXPAND, NULL, ICON_NONE);	}}
开发者ID:244xiao,项目名称:blender,代码行数:16,



注:本文中的CTX_wm_screen函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CTX_wm_space_clip函数代码示例
C++ CTX_wm_reports函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。