void BrushSelector::Init(const wxString& resourceGroup) { mSceneManipulator = NULL; mSplitter = NULL; mBrushesTree = NULL; mBrushesPreview = NULL; mFlipHorizontal = NULL; mFlipVertical = NULL; mRotateRightAngle = NULL; mRandom = NULL; mMirrorDiagonal = NULL; mEnablePreview = NULL; mCurrentOrientationType = 0; mCurrentFileName = ""; // 定义预览图的大小 mPreviewImageWidth = 64; mPreviewImageHeight = 64; // 初始化image,数据为黑色 mCurrentPreviewImage.Create( mPreviewImageWidth, mPreviewImageHeight, true ); // 获得黑白图 mBlackWhitePreviewImage = CellGridBitmaps(1).ConvertToImage(); mResourceGroup = resourceGroup; mPaintInOneGrid = false; mIsRandomOrientation = false; mCatalogMap.clear(); }
wxSizer *InitPixmapSelector( wxWindow *parent, bool call_fit, bool set_sizer ) { wxFlexGridSizer *item0 = new wxFlexGridSizer( 1, 0, 0 ); item0->AddGrowableCol( 0 ); item0->AddGrowableRow( 1 ); wxBoxSizer *item1 = new wxBoxSizer( wxHORIZONTAL ); wxButton *item2 = new wxButton( parent, feID_RELOAD_PIXMAP_LIST, /*_("&Refresh")*/_("[&R]刷新"), wxDefaultPosition, wxDefaultSize, 0 ); item1->Add( item2, 0, wxALIGN_CENTER|wxALL, 5 ); item0->Add( item1, 0, wxGROW, 5 ); wxTreeCtrl *item3 = new wxTreeCtrl( parent, feID_PIXMAP_LIST, wxDefaultPosition, wxSize(120,160), wxTR_HAS_BUTTONS|wxTR_LINES_AT_ROOT|wxSUNKEN_BORDER ); item0->Add( item3, 0, wxGROW|wxALL, 5 ); wxStaticLine *item4 = new wxStaticLine( parent, -1, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL ); item0->Add( item4, 0, wxGROW, 5 ); wxFlexGridSizer *item5 = new wxFlexGridSizer( 1, 0, 0, 0 ); item5->AddGrowableCol( 0 ); item5->AddGrowableRow( 0 ); wxFlexGridSizer *item6 = new wxFlexGridSizer( 1, 0, 0 ); item6->AddGrowableCol( 0 ); item6->AddGrowableRow( 0 ); wxStaticBitmap *item7 = new wxStaticBitmap( parent, feID_PIXMAP_PREVIEW, CellGridBitmaps( 1 ), wxDefaultPosition, wxDefaultSize ); item6->Add( item7, 0, wxALIGN_CENTER|wxALL, 5 ); wxCheckBox *item8 = new wxCheckBox( parent, feID_ENABLE_PIXMAP_PREVIEW, /*_("Enable Preview")*/_("预览"), wxDefaultPosition, wxDefaultSize, 0 ); item8->SetValue(true); item6->Add( item8, 0, wxALIGN_CENTER|wxALL, 5 ); item5->Add( item6, 0, wxGROW, 5 ); wxStaticLine *item9 = new wxStaticLine( parent, -1, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL ); item5->Add( item9, 0, wxGROW, 5 ); wxStaticBox *item11 = new wxStaticBox( parent, -1, /*_("Orientation")*/_("方向") ); wxStaticBoxSizer *item10 = new wxStaticBoxSizer( item11, wxVERTICAL ); wxCheckBox *item12 = new wxCheckBox( parent, feID_FLIP_HORIZONTAL, /*_("Horizontal flip")*/_("水平翻转"), wxDefaultPosition, wxDefaultSize, 0 ); item10->Add( item12, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxCheckBox *item13 = new wxCheckBox( parent, feID_FLIP_VERTICAL, /*_("Vertical flip")*/_("垂直翻转"), wxDefaultPosition, wxDefaultSize, 0 ); item10->Add( item13, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxCheckBox *item14 = new wxCheckBox( parent, feID_ROTATE_RIGHT_ANGLE, /*_("Rotate right angle")*/_("右转90度"), wxDefaultPosition, wxDefaultSize, 0 ); item10->Add( item14, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxCheckBox *item15 = new wxCheckBox( parent, feID_MIRROR_DIAGONAL, /*_("Mirror Texture Diagonal")*/_("对角线镜像"), wxDefaultPosition, wxDefaultSize, 0 ); item10->Add( item15, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); wxCheckBox *item16 = new wxCheckBox( parent, feID_RANDOM, /*_("Random")*/_("随机"), wxDefaultPosition, wxDefaultSize, 0 ); item10->Add( item16, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5 ); item5->Add( item10, 0, wxALIGN_CENTER|wxALL, 5 ); item0->Add( item5, 0, wxFIXED_MINSIZE|wxGROW, 5 ); if (set_sizer) { parent->SetSizer( item0 ); if (call_fit) item0->SetSizeHints( parent ); } return item0; }