simplify TextureBrowser_GetSelectedShader, TextureBrowser_SetSelectedShader usage

assuming, that we have only TextureBrowser
This commit is contained in:
Garux 2018-08-03 17:32:57 +03:00
parent 94e01fdb0a
commit 7908a2b593
10 changed files with 41 additions and 40 deletions

View File

@ -850,7 +850,7 @@ void Scene_BrushResize_Cuboid( scene::Node*& node, const AABB& bounds ){
if ( brush != 0 ) { if ( brush != 0 ) {
const char* shader = g_brush_always_caulk? const char* shader = g_brush_always_caulk?
GetCaulkShader() GetCaulkShader()
: TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ); : TextureBrowser_GetSelectedShader();
Brush_ConstructCuboid( *brush, bounds, shader, TextureTransform_getDefault() ); Brush_ConstructCuboid( *brush, bounds, shader, TextureTransform_getDefault() );
SceneChangeNotify(); SceneChangeNotify();
} }
@ -1473,7 +1473,7 @@ BrushMakeSided( std::size_t count )
: m_count( count ){ : m_count( count ){
} }
void set(){ void set(){
Scene_BrushConstructPrefab( GlobalSceneGraph(), eBrushPrism, m_count, TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); Scene_BrushConstructPrefab( GlobalSceneGraph(), eBrushPrism, m_count, TextureBrowser_GetSelectedShader() );
} }
typedef MemberCaller<BrushMakeSided, &BrushMakeSided::set> SetCaller; typedef MemberCaller<BrushMakeSided, &BrushMakeSided::set> SetCaller;
}; };

View File

@ -191,7 +191,7 @@ public:
m_out.back()->addPlane( winding[index].vertex, m_out.back()->addPlane( winding[index].vertex,
winding[next].vertex, winding[next].vertex,
winding[next].vertex + face.getPlane().plane3().normal() * m_settings.m_offset, winding[next].vertex + face.getPlane().plane3().normal() * m_settings.m_offset,
TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), TextureBrowser_GetSelectedShader(),
projection ); projection );
} }
} }
@ -269,7 +269,7 @@ public:
m_out.back()->addPlane( winding[next].vertex, m_out.back()->addPlane( winding[next].vertex,
winding[index].vertex, winding[index].vertex,
BestPoint, BestPoint,
m_settings.m_caulk ? GetCaulkShader() : TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), m_settings.m_caulk ? GetCaulkShader() : TextureBrowser_GetSelectedShader(),
projection ); projection );
} }
} }
@ -796,7 +796,7 @@ void post( const scene::Path& path, scene::Instance& instance ) const {
}; };
void Scene_BrushSplitByPlane( scene::Graph& graph, const ClipperPoints& points, bool caulk, bool split ){ void Scene_BrushSplitByPlane( scene::Graph& graph, const ClipperPoints& points, bool caulk, bool split ){
const char* shader = caulk? GetCaulkShader() : TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ); const char* shader = caulk? GetCaulkShader() : TextureBrowser_GetSelectedShader();
TextureProjection projection; TextureProjection projection;
TexDef_Construct_Default( projection ); TexDef_Construct_Default( projection );
graph.traverse( BrushSplitByPlaneSelected( points, shader, projection, split ) ); graph.traverse( BrushSplitByPlaneSelected( points, shader, projection, split ) );

View File

@ -461,10 +461,10 @@ void DoSides( int type, int axis ){
if ( modal_dialog_show( window, dialog ) == eIDOK ) { if ( modal_dialog_show( window, dialog ) == eIDOK ) {
// const char *str = gtk_entry_get_text( sides_entry ); // const char *str = gtk_entry_get_text( sides_entry );
// Scene_BrushConstructPrefab( GlobalSceneGraph(), (EBrushPrefab)type, atoi( str ), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); // Scene_BrushConstructPrefab( GlobalSceneGraph(), (EBrushPrefab)type, atoi( str ), TextureBrowser_GetSelectedShader() );
gtk_spin_button_update ( GTK_SPIN_BUTTON( sides_spin ) ); gtk_spin_button_update ( GTK_SPIN_BUTTON( sides_spin ) );
int sides = static_cast<int>( gtk_spin_button_get_value( GTK_SPIN_BUTTON( sides_spin ) ) ); int sides = static_cast<int>( gtk_spin_button_get_value( GTK_SPIN_BUTTON( sides_spin ) ) );
Scene_BrushConstructPrefab( GlobalSceneGraph(), (EBrushPrefab)type, sides, TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); Scene_BrushConstructPrefab( GlobalSceneGraph(), (EBrushPrefab)type, sides, TextureBrowser_GetSelectedShader() );
} }
gtk_widget_destroy( GTK_WIDGET( window ) ); gtk_widget_destroy( GTK_WIDGET( window ) );

View File

@ -560,43 +560,43 @@ void Patch_XactCone(){
void Patch_Cylinder(){ void Patch_Cylinder(){
UndoableCommand undo( "patchCreateCylinder" ); UndoableCommand undo( "patchCreateCylinder" );
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), eCylinder, GlobalXYWnd_getCurrentViewType() ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), eCylinder, GlobalXYWnd_getCurrentViewType() );
} }
void Patch_DenseCylinder(){ void Patch_DenseCylinder(){
UndoableCommand undo( "patchCreateDenseCylinder" ); UndoableCommand undo( "patchCreateDenseCylinder" );
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), eDenseCylinder, GlobalXYWnd_getCurrentViewType() ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), eDenseCylinder, GlobalXYWnd_getCurrentViewType() );
} }
void Patch_VeryDenseCylinder(){ void Patch_VeryDenseCylinder(){
UndoableCommand undo( "patchCreateVeryDenseCylinder" ); UndoableCommand undo( "patchCreateVeryDenseCylinder" );
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), eVeryDenseCylinder, GlobalXYWnd_getCurrentViewType() ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), eVeryDenseCylinder, GlobalXYWnd_getCurrentViewType() );
} }
void Patch_SquareCylinder(){ void Patch_SquareCylinder(){
UndoableCommand undo( "patchCreateSquareCylinder" ); UndoableCommand undo( "patchCreateSquareCylinder" );
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), eSqCylinder, GlobalXYWnd_getCurrentViewType() ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), eSqCylinder, GlobalXYWnd_getCurrentViewType() );
} }
void Patch_Endcap(){ void Patch_Endcap(){
UndoableCommand undo( "patchCreateEndCap" ); UndoableCommand undo( "patchCreateEndCap" );
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), eEndCap, GlobalXYWnd_getCurrentViewType() ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), eEndCap, GlobalXYWnd_getCurrentViewType() );
} }
void Patch_Bevel(){ void Patch_Bevel(){
UndoableCommand undo( "patchCreateBevel" ); UndoableCommand undo( "patchCreateBevel" );
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), eBevel, GlobalXYWnd_getCurrentViewType() ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), eBevel, GlobalXYWnd_getCurrentViewType() );
} }
void Patch_Sphere(){ void Patch_Sphere(){
UndoableCommand undo( "patchCreateSphere" ); UndoableCommand undo( "patchCreateSphere" );
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), eSphere, GlobalXYWnd_getCurrentViewType() ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), eSphere, GlobalXYWnd_getCurrentViewType() );
} }
void Patch_SquareBevel(){ void Patch_SquareBevel(){
@ -608,7 +608,7 @@ void Patch_SquareEndcap(){
void Patch_Cone(){ void Patch_Cone(){
UndoableCommand undo( "patchCreateCone" ); UndoableCommand undo( "patchCreateCone" );
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), eCone, GlobalXYWnd_getCurrentViewType() ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), eCone, GlobalXYWnd_getCurrentViewType() );
} }
void Patch_Plane(){ void Patch_Plane(){
@ -706,7 +706,7 @@ void Patch_Cap(){
// Patch_CapCurrent(); // Patch_CapCurrent();
UndoableCommand undo( "patchPutCaps" ); UndoableCommand undo( "patchPutCaps" );
Scene_PatchDoCap_Selected( GlobalSceneGraph(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); Scene_PatchDoCap_Selected( GlobalSceneGraph(), TextureBrowser_GetSelectedShader() );
} }
///\todo Unfinished. ///\todo Unfinished.
@ -1116,7 +1116,7 @@ void DoNewPatchDlg( EPatchPrefab prefab, int minrows, int mincols, int defrows,
if( prefab != ePlane ){ if( prefab != ePlane ){
redisperse = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( redisperseCheckBox ) ) ? true : false; redisperse = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( redisperseCheckBox ) ) ? true : false;
} }
Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ), prefab, GlobalXYWnd_getCurrentViewType(), w, h, redisperse ); Scene_PatchConstructPrefab( GlobalSceneGraph(), PatchCreator_getBounds(), TextureBrowser_GetSelectedShader(), prefab, GlobalXYWnd_getCurrentViewType(), w, h, redisperse );
} }
gtk_widget_destroy( GTK_WIDGET( window ) ); gtk_widget_destroy( GTK_WIDGET( window ) );

View File

@ -109,10 +109,6 @@ Vector3 XYWindow_windowToWorld( const WindowVector& position ){
return result; return result;
} }
const char* TextureBrowser_getSelectedShader(){
return TextureBrowser_GetSelectedShader( GlobalTextureBrowser() );
}
class RadiantCoreAPI class RadiantCoreAPI
{ {
_QERFuncTable_1 m_radiantcore; _QERFuncTable_1 m_radiantcore;
@ -153,7 +149,7 @@ RadiantCoreAPI(){
m_radiantcore.XYWindowMouseDown_disconnect = XYWindowMouseDown_disconnect; m_radiantcore.XYWindowMouseDown_disconnect = XYWindowMouseDown_disconnect;
m_radiantcore.XYWindow_getViewType = XYWindow_getViewType; m_radiantcore.XYWindow_getViewType = XYWindow_getViewType;
m_radiantcore.XYWindow_windowToWorld = XYWindow_windowToWorld; m_radiantcore.XYWindow_windowToWorld = XYWindow_windowToWorld;
m_radiantcore.TextureBrowser_getSelectedShader = TextureBrowser_getSelectedShader; m_radiantcore.TextureBrowser_getSelectedShader = TextureBrowser_GetSelectedShader;
m_radiantcore.m_pfnMessageBox = &gtk_MessageBox; m_radiantcore.m_pfnMessageBox = &gtk_MessageBox;
m_radiantcore.m_pfnFileDialog = &file_dialog; m_radiantcore.m_pfnFileDialog = &file_dialog;

View File

@ -848,7 +848,7 @@ void Select_AllOfType(){
if ( GlobalSelectionSystem().Mode() == SelectionSystem::eComponent ) { if ( GlobalSelectionSystem().Mode() == SelectionSystem::eComponent ) {
if ( GlobalSelectionSystem().ComponentMode() == SelectionSystem::eFace ) { if ( GlobalSelectionSystem().ComponentMode() == SelectionSystem::eFace ) {
GlobalSelectionSystem().setSelectedAllComponents( false ); GlobalSelectionSystem().setSelectedAllComponents( false );
Scene_BrushSelectByShader_Component( GlobalSceneGraph(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); Scene_BrushSelectByShader_Component( GlobalSceneGraph(), TextureBrowser_GetSelectedShader() );
} }
} }
else else
@ -865,15 +865,15 @@ void Select_AllOfType(){
} }
else else
{ {
Scene_BrushSelectByShader( GlobalSceneGraph(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); Scene_BrushSelectByShader( GlobalSceneGraph(), TextureBrowser_GetSelectedShader() );
Scene_PatchSelectByShader( GlobalSceneGraph(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); Scene_PatchSelectByShader( GlobalSceneGraph(), TextureBrowser_GetSelectedShader() );
} }
} }
} }
void Select_FacesAndPatchesByShader(){ void Select_FacesAndPatchesByShader(){
Scene_BrushFacesSelectByShader( GlobalSceneGraph(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); Scene_BrushFacesSelectByShader( GlobalSceneGraph(), TextureBrowser_GetSelectedShader() );
Scene_PatchSelectByShader( GlobalSceneGraph(), TextureBrowser_GetSelectedShader( GlobalTextureBrowser() ) ); Scene_PatchSelectByShader( GlobalSceneGraph(), TextureBrowser_GetSelectedShader() );
} }
void Select_Inside( void ){ void Select_Inside( void ){

View File

@ -5571,7 +5571,6 @@ const ModifierFlags c_modifier_copy_texture = c_modifierNone;
void Scene_copyClosestTexture( SelectionTest& test ); void Scene_copyClosestTexture( SelectionTest& test );
void Scene_applyClosestTexture( SelectionTest& test, bool seamless, bool project, bool texturize_selected = false ); void Scene_applyClosestTexture( SelectionTest& test, bool seamless, bool project, bool texturize_selected = false );
void Scene_projectClosestTexture( SelectionTest& test );
class TexManipulator_ class TexManipulator_
{ {

View File

@ -1690,15 +1690,13 @@ void Scene_setClosestTexture( scene::Graph& graph, SelectionTest& test, const ch
} }
} }
class TextureBrowser; void TextureBrowser_SetSelectedShader( const char* shader );
extern TextureBrowser g_TextureBrowser; const char* TextureBrowser_GetSelectedShader();
void TextureBrowser_SetSelectedShader( TextureBrowser& textureBrowser, const char* shader );
const char* TextureBrowser_GetSelectedShader( TextureBrowser& textureBrowser );
void Scene_copyClosestTexture( SelectionTest& test ){ void Scene_copyClosestTexture( SelectionTest& test ){
CopiedString shader; CopiedString shader;
if ( Scene_getClosestTexture( GlobalSceneGraph(), test, shader, g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_flags ) ) { if ( Scene_getClosestTexture( GlobalSceneGraph(), test, shader, g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_flags ) ) {
TextureBrowser_SetSelectedShader( g_TextureBrowser, shader.c_str() ); TextureBrowser_SetSelectedShader( shader.c_str() );
// UndoableCommand undo( "textureNameAndProjectionSetSelected" ); // UndoableCommand undo( "textureNameAndProjectionSetSelected" );
// Select_SetShader( shader.c_str() ); // Select_SetShader( shader.c_str() );
// Select_SetTexdef( g_faceTextureClipboard.m_projection ); // Select_SetTexdef( g_faceTextureClipboard.m_projection );
@ -1710,16 +1708,16 @@ void Scene_applyClosestTexture( SelectionTest& test, bool seamless, bool project
if( texturize_selected ){ if( texturize_selected ){
if( project ){ if( project ){
Select_SetShader( TextureBrowser_GetSelectedShader( g_TextureBrowser ) ); Select_SetShader( TextureBrowser_GetSelectedShader() );
Select_ProjectTexture( g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_plane.normal() ); Select_ProjectTexture( g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_plane.normal() );
} }
else if( !seamless ){ else if( !seamless ){
Select_SetShader( TextureBrowser_GetSelectedShader( g_TextureBrowser ) ); Select_SetShader( TextureBrowser_GetSelectedShader() );
Select_SetTexdef( g_faceTextureClipboard.m_projection, false, false ); Select_SetTexdef( g_faceTextureClipboard.m_projection, false, false );
} }
} }
Scene_setClosestTexture( GlobalSceneGraph(), test, TextureBrowser_GetSelectedShader( g_TextureBrowser ), g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_flags, seamless, project ); Scene_setClosestTexture( GlobalSceneGraph(), test, TextureBrowser_GetSelectedShader(), g_faceTextureClipboard.m_projection, g_faceTextureClipboard.m_flags, seamless, project );
SceneChangeNotify(); SceneChangeNotify();
} }
@ -1734,13 +1732,13 @@ void SelectedFaces_copyTexture(){
face.GetTexdef( g_faceTextureClipboard.m_projection ); face.GetTexdef( g_faceTextureClipboard.m_projection );
g_faceTextureClipboard.m_flags = face.getShader().m_flags; g_faceTextureClipboard.m_flags = face.getShader().m_flags;
TextureBrowser_SetSelectedShader( g_TextureBrowser, face.getShader().getShader() ); TextureBrowser_SetSelectedShader( face.getShader().getShader() );
} }
} }
void FaceInstance_pasteTexture( FaceInstance& faceInstance ){ void FaceInstance_pasteTexture( FaceInstance& faceInstance ){
faceInstance.getFace().SetTexdef( g_faceTextureClipboard.m_projection ); faceInstance.getFace().SetTexdef( g_faceTextureClipboard.m_projection );
faceInstance.getFace().SetShader( TextureBrowser_GetSelectedShader( g_TextureBrowser ) ); faceInstance.getFace().SetShader( TextureBrowser_GetSelectedShader() );
faceInstance.getFace().SetFlags( g_faceTextureClipboard.m_flags ); faceInstance.getFace().SetFlags( g_faceTextureClipboard.m_flags );
SceneChangeNotify(); SceneChangeNotify();
} }

View File

@ -387,6 +387,10 @@ inline int TextureBrowser_fontHeight( TextureBrowser& textureBrowser ){
return GlobalOpenGL().m_font->getPixelHeight(); return GlobalOpenGL().m_font->getPixelHeight();
} }
const char* TextureBrowser_GetSelectedShader(){
return GlobalTextureBrowser().shader.c_str();
}
const char* TextureBrowser_GetSelectedShader( TextureBrowser& textureBrowser ){ const char* TextureBrowser_GetSelectedShader( TextureBrowser& textureBrowser ){
return textureBrowser.shader.c_str(); return textureBrowser.shader.c_str();
} }
@ -428,6 +432,10 @@ void TextureBrowser_SetSelectedShader( TextureBrowser& textureBrowser, const cha
ishader->DecRef(); ishader->DecRef();
} }
void TextureBrowser_SetSelectedShader( const char* shader ){
TextureBrowser_SetSelectedShader( GlobalTextureBrowser(), shader );
}
CopiedString g_TextureBrowser_currentDirectory; CopiedString g_TextureBrowser_currentDirectory;
@ -2441,7 +2449,7 @@ void TextureBrowser_selectionHelper( GtkTreeModel* model, GtkTreePath* path, Gtk
} }
void TextureBrowser_shaderInfo(){ void TextureBrowser_shaderInfo(){
const char* name = TextureBrowser_GetSelectedShader( g_TextureBrowser ); const char* name = TextureBrowser_GetSelectedShader();
IShader* shader = QERApp_Shader_ForName( name ); IShader* shader = QERApp_Shader_ForName( name );
DoShaderInfoDlg( name, shader->getShaderFileName(), "Shader Info" ); DoShaderInfoDlg( name, shader->getShaderFileName(), "Shader Info" );

View File

@ -40,7 +40,7 @@ void TextureBrowser_destroyWindow();
void TextureBrowser_ShowDirectory( TextureBrowser& textureBrowser, const char* name ); void TextureBrowser_ShowDirectory( TextureBrowser& textureBrowser, const char* name );
void TextureBrowser_ShowStartupShaders( TextureBrowser& textureBrowser ); void TextureBrowser_ShowStartupShaders( TextureBrowser& textureBrowser );
const char* TextureBrowser_GetSelectedShader( TextureBrowser& textureBrower ); const char* TextureBrowser_GetSelectedShader();
void TextureBrowser_Construct(); void TextureBrowser_Construct();
void TextureBrowser_Destroy(); void TextureBrowser_Destroy();