Mercurial > hg > orthanc-stone
comparison Samples/WebAssembly/dev.h @ 1299:c38c89684d83 broker
replacing std::auto_ptr by std::unique_ptr
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 02 Mar 2020 17:21:24 +0100 |
parents | 2d8ab34c8c91 |
children |
comparison
equal
deleted
inserted
replaced
1297:6ab03e429f06 | 1299:c38c89684d83 |
---|---|
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(); |