Skip to content

Commit 6bf8bff

Browse files
committed
Change shared_ptr to unique_ptr
1 parent 85f7414 commit 6bf8bff

File tree

7 files changed

+28
-22
lines changed

7 files changed

+28
-22
lines changed

render_pipeline/rpcore/gui/draggable_window.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ class RENDER_PIPELINE_DECL DraggableWindow : public RPObject
5151
public:
5252
DraggableWindow(int width=Default::width, int height=Default::height,
5353
const std::string& title=Default::title, NodePath parent={});
54-
~DraggableWindow();
54+
virtual ~DraggableWindow();
5555

5656
/** Centers the window on screen. */
5757
void center_on_screen();

render_pipeline/rpcore/gui/slider.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class Slider : public RPObject
5151
float min_value=0, float max_value=Default::max_value,
5252
float value=Default::value, float page_size=Default::page_size,
5353
const std::function<void()>& callback={});
54+
~Slider();
5455

5556
/** Returns the currently assigned value. */
5657
float get_value() const;

src/rpcore/gui/buffer_viewer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ BufferViewer::BufferViewer(NodePath parent): DraggableWindow(1400, 800, "Buffer-
4545
{
4646
create_components();
4747

48-
_tex_preview = std::make_shared<TexturePreview>(parent);
48+
_tex_preview = std::make_unique<TexturePreview>(parent);
4949
_tex_preview->hide();
5050

5151
hide();
@@ -138,7 +138,7 @@ void BufferViewer::create_components()
138138
_content_node.set_scale(1, 1, -1);
139139
_content_node.set_z(_scroll_height);
140140

141-
_chb_show_images = std::make_shared<LabeledCheckbox>(node_, 10, 43,
141+
_chb_show_images = std::make_unique<LabeledCheckbox>(node_, 10, 43,
142142
std::bind(&BufferViewer::set_show_images, this, std::placeholders::_1),
143143
false, "Display image resources", 16, false, LVecBase3f(0.4f), 330);
144144
}

src/rpcore/gui/buffer_viewer.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ class BufferViewer : public DraggableWindow
8888
bool _display_images = false;
8989
PT(rppanda::DirectScrolledFrame) _content_frame;
9090
NodePath _content_node;
91-
std::shared_ptr<LabeledCheckbox> _chb_show_images;
91+
std::unique_ptr<LabeledCheckbox> _chb_show_images;
9292

9393
std::vector<std::pair<Texture*, EntryID>> _stages;
94-
std::shared_ptr<TexturePreview> _tex_preview;
94+
std::unique_ptr<TexturePreview> _tex_preview;
9595

9696
std::vector<PT(rppanda::DirectFrame)> frame_hovers_;
9797

src/rpcore/gui/slider.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ Slider::Slider(float x, float y, NodePath parent, float size, float min_value, f
5252
node_ = new rppanda::DirectSlider(parent, options);
5353
}
5454

55+
Slider::~Slider() = default;
56+
5557
float Slider::get_value() const
5658
{
5759
return node_->get_value();

src/rpcore/gui/texture_preview.cpp

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ TexturePreview::TexturePreview(NodePath parent):
4242
create_components();
4343
}
4444

45+
TexturePreview::~TexturePreview() = default;
46+
4547
void TexturePreview::present(Texture* tex)
4648
{
4749
_current_tex = tex;
@@ -63,7 +65,7 @@ void TexturePreview::present(Texture* tex)
6365
display_h = scale_f * h;
6466
}
6567

66-
std::shared_ptr<Sprite> image = std::make_shared<Sprite>(tex, display_w, display_h, _content_node, 20, 90, false, true, false);
68+
auto image = std::make_unique<Sprite>(tex, display_w, display_h, _content_node, 20, 90, false, true, false);
6769

6870
std::string description;
6971

@@ -90,13 +92,13 @@ void TexturePreview::present(Texture* tex)
9092
// Slider for viewing different mipmaps
9193
if (tex->uses_mipmaps())
9294
{
93-
_mip_slider = std::make_shared<Slider>(x_pos, 65, _content_node, 140, 0,
95+
_mip_slider = std::make_unique<Slider>(x_pos, 65, _content_node, 140, 0,
9496
tex->get_expected_num_mipmap_levels()-1, 0, Slider::Default::page_size,
9597
std::bind(&TexturePreview::set_mip, this));
9698

9799
x_pos += 140 + 5;
98100

99-
_mip_text = std::make_shared<Text>("MIP: 5", _content_node, x_pos, 72, 18,
101+
_mip_text = std::make_unique<Text>("MIP: 5", _content_node, x_pos, 72, 18,
100102
Text::Default::align,
101103
LVecBase3(1.0f, 0.4f, 0.4f), true);
102104

@@ -106,31 +108,31 @@ void TexturePreview::present(Texture* tex)
106108
// Slider for viewing different Z-layers
107109
if (tex->get_z_size() > 1)
108110
{
109-
_slice_slider = std::make_shared<Slider>(x_pos, 65, _content_node, 250, 0,
111+
_slice_slider = std::make_unique<Slider>(x_pos, 65, _content_node, 250, 0,
110112
tex->get_z_size() - 1, 0, Slider::Default::page_size,
111113
std::bind(&TexturePreview::set_slice, this));
112114

113115
x_pos += 250 + 5;
114116

115-
_slice_text = std::make_shared<Text>("Z: 5", _content_node, x_pos, 72, 18,
117+
_slice_text = std::make_unique<Text>("Z: 5", _content_node, x_pos, 72, 18,
116118
Text::Default::align,
117119
LVecBase3(0.4f, 1.0f, 0.4f), true);
118120

119121
x_pos += 50 + 30;
120122
}
121123

122124
// Slider to adjust brightness
123-
_bright_slider = std::make_shared<Slider>(x_pos, 65, _content_node, 140, -14, 14,
125+
_bright_slider = std::make_unique<Slider>(x_pos, 65, _content_node, 140, -14, 14,
124126
0, Slider::Default::page_size,
125127
std::bind(&TexturePreview::set_brightness, this));
126128

127129
x_pos += 140 + 5;
128-
_bright_text = std::make_shared<Text>("Bright: 1", _content_node, x_pos, 72, 18,
130+
_bright_text = std::make_unique<Text>("Bright: 1", _content_node, x_pos, 72, 18,
129131
Text::Default::align, LVecBase3(0.4f, 0.4f, 1.0f), true);
130132
x_pos += 100 + 30;
131133

132134
// Slider to enable reinhard tonemapping
133-
_tonemap_box = std::make_shared<LabeledCheckbox>(_content_node, x_pos, 60,
135+
_tonemap_box = std::make_unique<LabeledCheckbox>(_content_node, x_pos, 60,
134136
std::bind(&TexturePreview::set_enable_tonemap, this, std::placeholders::_1),
135137
false, "Tonemap", 18, false, LVecBase3(1.0f, 0.4f, 0.4f), 90);
136138
x_pos += 90 + 30;
@@ -144,7 +146,7 @@ void TexturePreview::present(Texture* tex)
144146
PT(Shader) preview_shader = DisplayShaderBuilder::build(tex, display_w, display_h);
145147
image->set_shader(preview_shader);
146148

147-
_preview_image = image;
149+
_preview_image = std::move(image);
148150

149151
show();
150152
}

src/rpcore/gui/texture_preview.hpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class TexturePreview : public DraggableWindow
3434
{
3535
public:
3636
TexturePreview(NodePath parent);
37+
virtual ~TexturePreview();
3738

3839
/** "Presents" a given texture and shows the window. */
3940
void present(Texture* tex);
@@ -52,16 +53,16 @@ class TexturePreview : public DraggableWindow
5253
NodePath _content_node;
5354
Texture* _current_tex;
5455

55-
std::shared_ptr<Sprite> _preview_image;
56-
std::shared_ptr<LabeledCheckbox> _tonemap_box;
56+
std::unique_ptr<Sprite> _preview_image;
57+
std::unique_ptr<LabeledCheckbox> _tonemap_box;
5758

58-
std::shared_ptr<Text> _mip_text;
59-
std::shared_ptr<Text> _slice_text;
60-
std::shared_ptr<Text> _bright_text;
59+
std::unique_ptr<Text> _mip_text;
60+
std::unique_ptr<Text> _slice_text;
61+
std::unique_ptr<Text> _bright_text;
6162

62-
std::shared_ptr<Slider> _mip_slider;
63-
std::shared_ptr<Slider> _slice_slider;
64-
std::shared_ptr<Slider> _bright_slider;
63+
std::unique_ptr<Slider> _mip_slider;
64+
std::unique_ptr<Slider> _slice_slider;
65+
std::unique_ptr<Slider> _bright_slider;
6566
};
6667

6768
}

0 commit comments

Comments
 (0)