Commit: 2e8d77967e4d38fd2e3b7b7c073ec2c2b37d2a98 Author: Jacques Lucke Date: Tue Feb 23 11:41:36 2021 +0100 Branches: temp-spreadsheet-editor https://developer.blender.org/rB2e8d77967e4d38fd2e3b7b7c073ec2c2b37d2a98
hookup view2d to spreadsheet editor =================================================================== M source/blender/editors/space_spreadsheet/space_spreadsheet.cc =================================================================== diff --git a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc index 1cf7463d92f..6fa7f9bc4cf 100644 --- a/source/blender/editors/space_spreadsheet/space_spreadsheet.cc +++ b/source/blender/editors/space_spreadsheet/space_spreadsheet.cc @@ -18,6 +18,7 @@ #include "BLI_index_range.hh" #include "BLI_listbase.h" +#include "BLI_rect.h" #include "BLI_utildefines.h" #include "BKE_screen.h" @@ -86,16 +87,29 @@ static void spreadsheet_keymap(wmKeyConfig *UNUSED(keyconf)) { } -static void spreadsheet_main_region_init(wmWindowManager *UNUSED(wm), ARegion *UNUSED(region)) +static void spreadsheet_main_region_init(wmWindowManager *UNUSED(wm), ARegion *region) { + region->v2d.scroll = V2D_SCROLL_RIGHT | V2D_SCROLL_BOTTOM | V2D_SCROLL_HORIZONTAL_HIDE | + V2D_SCROLL_VERTICAL_HIDE; + region->v2d.align = V2D_ALIGN_NO_NEG_X | V2D_ALIGN_NO_POS_Y; + region->v2d.keepzoom = V2D_LOCKZOOM_X | V2D_LOCKZOOM_Y | V2D_LIMITZOOM | V2D_KEEPASPECT; + region->v2d.keeptot = V2D_KEEPTOT_STRICT; + region->v2d.minzoom = region->v2d.maxzoom = 1.0f; + + UI_view2d_region_reinit(®ion->v2d, V2D_COMMONVIEW_LIST, region->winx, region->winy); } static void spreadsheet_main_region_draw(const bContext *C, ARegion *region) { - // SpaceSpreadsheet *spreadsheet_space = CTX_wm_space_spreadsheet(C); - UI_ThemeClearColor(TH_BACK); + View2D *v2d = ®ion->v2d; + v2d->flag |= V2D_PIXELOFS_X | V2D_PIXELOFS_Y; + UI_view2d_view_ortho(v2d); + + /* TODO: Properly compute width and height. */ + UI_view2d_totRect_set(v2d, 5000, 5000); + uiBlock *block = UI_block_begin(C, region, __func__, UI_EMBOSS_NONE); Object *active_object = CTX_data_active_object(C); @@ -109,7 +123,7 @@ static void spreadsheet_main_region_draw(const bContext *C, ARegion *region) 0, "", 0, - i * UI_UNIT_Y, + -i * UI_UNIT_Y, 150, UI_UNIT_Y, (float *)vert.co, @@ -165,7 +179,7 @@ void ED_spacetype_spreadsheet(void) /* regions: main window */ art = (ARegionType *)MEM_callocN(sizeof(ARegionType), "spacetype spreadsheet region"); art->regionid = RGN_TYPE_WINDOW; - art->keymapflag = ED_KEYMAP_UI; + art->keymapflag = ED_KEYMAP_UI | ED_KEYMAP_VIEW2D; art->init = spreadsheet_main_region_init; art->draw = spreadsheet_main_region_draw; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs