comparison Samples/WebAssembly/dev.h @ 1298:8a0a62189f46

replacing std::auto_ptr by std::unique_ptr
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 02 Mar 2020 16:31:30 +0100
parents 2d8ab34c8c91
children
comparison
equal deleted inserted replaced
1296:86400fa16091 1298:8a0a62189f46
77 77
78 static OrthancStone::PointerEvent* ConvertMouseEvent( 78 static OrthancStone::PointerEvent* ConvertMouseEvent(
79 const EmscriptenMouseEvent& source, 79 const EmscriptenMouseEvent& source,
80 OrthancStone::IViewport& viewport) 80 OrthancStone::IViewport& viewport)
81 { 81 {
82 std::auto_ptr<OrthancStone::PointerEvent> target( 82 std::unique_ptr<OrthancStone::PointerEvent> target(
83 new OrthancStone::PointerEvent); 83 new OrthancStone::PointerEvent);
84 84
85 target->AddPosition(viewport.GetPixelCenterCoordinates( 85 target->AddPosition(viewport.GetPixelCenterCoordinates(
86 source.targetX, source.targetY)); 86 source.targetX, source.targetY));
87 target->SetAltModifier(source.altKey); 87 target->SetAltModifier(source.altKey);
89 target->SetShiftModifier(source.shiftKey); 89 target->SetShiftModifier(source.shiftKey);
90 90
91 return target.release(); 91 return target.release();
92 } 92 }
93 93
94 std::auto_ptr<OrthancStone::ActiveTracker> tracker_; 94 std::unique_ptr<OrthancStone::ActiveTracker> tracker_;
95 95
96 EM_BOOL OnMouseEvent(int eventType, 96 EM_BOOL OnMouseEvent(int eventType,
97 const EmscriptenMouseEvent *mouseEvent, 97 const EmscriptenMouseEvent *mouseEvent,
98 void *userData) 98 void *userData)
99 { 99 {
109 { 109 {
110 static unsigned int count = 0; 110 static unsigned int count = 0;
111 char buf[64]; 111 char buf[64];
112 sprintf(buf, "click %d", count++); 112 sprintf(buf, "click %d", count++);
113 113
114 std::auto_ptr<OrthancStone::TextSceneLayer> layer(new OrthancStone::TextSceneLayer); 114 std::unique_ptr<OrthancStone::TextSceneLayer> layer(new OrthancStone::TextSceneLayer);
115 layer->SetText(buf); 115 layer->SetText(buf);
116 controller->GetViewport().GetScene().SetLayer(100, layer.release()); 116 controller->GetViewport().GetScene().SetLayer(100, layer.release());
117 controller->GetViewport().Refresh(); 117 controller->GetViewport().Refresh();
118 break; 118 break;
119 } 119 }
121 case EMSCRIPTEN_EVENT_MOUSEDOWN: 121 case EMSCRIPTEN_EVENT_MOUSEDOWN:
122 { 122 {
123 boost::shared_ptr<OrthancStone::IFlexiblePointerTracker> t; 123 boost::shared_ptr<OrthancStone::IFlexiblePointerTracker> t;
124 124
125 { 125 {
126 std::auto_ptr<OrthancStone::PointerEvent> event( 126 std::unique_ptr<OrthancStone::PointerEvent> event(
127 ConvertMouseEvent(*mouseEvent, controller->GetViewport())); 127 ConvertMouseEvent(*mouseEvent, controller->GetViewport()));
128 128
129 switch (mouseEvent->button) 129 switch (mouseEvent->button)
130 { 130 {
131 case 0: // Left button 131 case 0: // Left button
163 } 163 }
164 164
165 case EMSCRIPTEN_EVENT_MOUSEMOVE: 165 case EMSCRIPTEN_EVENT_MOUSEMOVE:
166 if (tracker_.get() != NULL) 166 if (tracker_.get() != NULL)
167 { 167 {
168 std::auto_ptr<OrthancStone::PointerEvent> event( 168 std::unique_ptr<OrthancStone::PointerEvent> event(
169 ConvertMouseEvent(*mouseEvent, controller->GetViewport())); 169 ConvertMouseEvent(*mouseEvent, controller->GetViewport()));
170 tracker_->PointerMove(*event); 170 tracker_->PointerMove(*event);
171 controller->GetViewport().Refresh(); 171 controller->GetViewport().Refresh();
172 } 172 }
173 break; 173 break;
174 174
175 case EMSCRIPTEN_EVENT_MOUSEUP: 175 case EMSCRIPTEN_EVENT_MOUSEUP:
176 if (tracker_.get() != NULL) 176 if (tracker_.get() != NULL)
177 { 177 {
178 std::auto_ptr<OrthancStone::PointerEvent> event( 178 std::unique_ptr<OrthancStone::PointerEvent> event(
179 ConvertMouseEvent(*mouseEvent, controller->GetViewport())); 179 ConvertMouseEvent(*mouseEvent, controller->GetViewport()));
180 tracker_->PointerUp(*event); 180 tracker_->PointerUp(*event);
181 controller->GetViewport().Refresh(); 181 controller->GetViewport().Refresh();
182 if (!tracker_->IsAlive()) 182 if (!tracker_->IsAlive())
183 tracker_.reset(); 183 tracker_.reset();