1
1
#include " cinterface.h"
2
2
3
+ #include < cstddef>
4
+ #include < cstdint>
5
+ #include < exception>
6
+ #include < functional>
7
+ #include < limits>
8
+ #include < new>
9
+ #include < optional>
10
+ #include < stdexcept>
11
+ #include < string>
12
+ #include < string_view>
13
+ #include < typeinfo>
14
+ #include < variant>
15
+
3
16
#include " interface.h"
4
17
5
18
using Vizzu::Interface;
@@ -17,7 +30,8 @@ constexpr std::uint_fast32_t hash(std::string_view s) noexcept
17
30
18
31
for (size_t i = 0 ; i < s.size (); ++i)
19
32
val ^= static_cast <std::uint_fast32_t >(s[i])
20
- << ((i % sizeof (std::uint_fast32_t )) * CHAR_BIT);
33
+ << ((i % sizeof (std::uint_fast32_t ))
34
+ * std::numeric_limits<unsigned char >::digits);
21
35
22
36
return val;
23
37
}
@@ -90,6 +104,7 @@ const char *vizzu_errorMessage(APIHandles::Exception exceptionPtr,
90
104
static_cast <const std::bad_variant_access *>(
91
105
exceptionPtr);
92
106
break ;
107
+ default : break ;
93
108
}
94
109
95
110
if (realException) return realException->what ();
@@ -106,10 +121,7 @@ const char *vizzu_errorMessage(APIHandles::Exception exceptionPtr,
106
121
107
122
const char *vizzu_version () { return Interface::version (); }
108
123
109
- void vizzu_setLogging (bool enable)
110
- {
111
- return Interface::setLogging (enable);
112
- }
124
+ void vizzu_setLogging (bool enable) { Interface::setLogging (enable); }
113
125
114
126
APIHandles::Chart vizzu_createChart ()
115
127
{
@@ -127,7 +139,7 @@ void vizzu_pointerMove(APIHandles::Chart chart,
127
139
double x,
128
140
double y)
129
141
{
130
- return Interface::getInstance ().pointerMove (chart,
142
+ Interface::getInstance ().pointerMove (chart,
131
143
canvas,
132
144
pointerId,
133
145
x,
@@ -140,7 +152,7 @@ void vizzu_pointerDown(APIHandles::Chart chart,
140
152
double x,
141
153
double y)
142
154
{
143
- return Interface::getInstance ().pointerDown (chart,
155
+ Interface::getInstance ().pointerDown (chart,
144
156
canvas,
145
157
pointerId,
146
158
x,
@@ -153,7 +165,7 @@ void vizzu_pointerUp(APIHandles::Chart chart,
153
165
double x,
154
166
double y)
155
167
{
156
- return Interface::getInstance ().pointerUp (chart,
168
+ Interface::getInstance ().pointerUp (chart,
157
169
canvas,
158
170
pointerId,
159
171
x,
@@ -164,16 +176,14 @@ void vizzu_pointerLeave(APIHandles::Chart chart,
164
176
APIHandles::Canvas canvas,
165
177
int pointerId)
166
178
{
167
- return Interface::getInstance ().pointerLeave (chart,
168
- canvas,
169
- pointerId);
179
+ Interface::getInstance ().pointerLeave (chart, canvas, pointerId);
170
180
}
171
181
172
182
void vizzu_wheel (APIHandles::Chart chart,
173
183
APIHandles::Canvas canvas,
174
184
double delta)
175
185
{
176
- return Interface::getInstance ().wheel (chart, canvas, delta);
186
+ Interface::getInstance ().wheel (chart, canvas, delta);
177
187
}
178
188
179
189
void vizzu_update (APIHandles::Chart chart, double timeInMSecs)
@@ -186,10 +196,7 @@ void vizzu_render(APIHandles::Chart chart,
186
196
double width,
187
197
double height)
188
198
{
189
- return Interface::getInstance ().render (chart,
190
- canvas,
191
- width,
192
- height);
199
+ Interface::getInstance ().render (chart, canvas, width, height);
193
200
}
194
201
195
202
void vizzu_setLineResolution (APIHandles::Canvas canvas,
@@ -207,7 +214,7 @@ void style_setValue(APIHandles::Chart chart,
207
214
const char *path,
208
215
const char *value)
209
216
{
210
- return Interface::getInstance ().setStyleValue (chart, path, value);
217
+ Interface::getInstance ().setStyleValue (chart, path, value);
211
218
}
212
219
213
220
const char *style_getValue (APIHandles::Chart chart,
@@ -227,7 +234,7 @@ APIHandles::Snapshot chart_store(APIHandles::Chart chart)
227
234
void chart_restore (APIHandles::Chart chart,
228
235
APIHandles::Snapshot snapshot)
229
236
{
230
- return Interface::getInstance ().restoreChart (chart, snapshot);
237
+ Interface::getInstance ().restoreChart (chart, snapshot);
231
238
}
232
239
233
240
APIHandles::Animation chart_anim_store (APIHandles::Chart chart)
@@ -238,12 +245,12 @@ APIHandles::Animation chart_anim_store(APIHandles::Chart chart)
238
245
void chart_anim_restore (APIHandles::Chart chart,
239
246
APIHandles::Animation anim)
240
247
{
241
- return Interface::getInstance ().restoreAnim (chart, anim);
248
+ Interface::getInstance ().restoreAnim (chart, anim);
242
249
}
243
250
244
251
void object_free (APIHandles::Any handle)
245
252
{
246
- return Interface::getInstance ().freeObj (handle);
253
+ Interface::getInstance ().freeObj (handle);
247
254
}
248
255
249
256
const char *chart_getList () { return Interface::getChartParamList (); }
@@ -257,29 +264,32 @@ void chart_setValue(APIHandles::Chart chart,
257
264
const char *path,
258
265
const char *value)
259
266
{
260
- return Interface::getInstance ().setChartValue (chart, path, value);
267
+ Interface::getInstance ().setChartValue (chart, path, value);
261
268
}
262
269
263
270
void chart_setFilter (APIHandles::Chart chart,
264
271
bool (*filter)(const Vizzu::Data::RowWrapper *),
265
272
void (*deleter)(bool (*)(const Vizzu::Data::RowWrapper *)))
266
273
{
267
- return Interface::getInstance ().setChartFilter (chart,
268
- {filter, deleter});
274
+ Interface::getInstance ().setChartFilter (chart, {filter, deleter});
269
275
}
270
276
271
277
const Value *record_getValue (const Vizzu::Data::RowWrapper *record,
272
278
const char *column)
273
279
{
274
280
thread_local Value val{{}, {}};
275
281
if (auto &&cval = Interface::getRecordValue (*record, column);
276
- (val.dimension = cval.index ())) {
282
+ cval.index ()) {
283
+ val.dimension = true ;
277
284
auto &&dim = *std::get_if<const std::string *>(&cval);
278
- new (&val.dimensionValue )
285
+ new (
286
+ &val.dimensionValue ) // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
279
287
const char *{dim ? dim->c_str () : nullptr };
280
288
}
281
- else
289
+ else {
290
+ val.dimension = false ;
282
291
new (&val.measureValue ) double {*std::get_if<double >(&cval)};
292
+ }
283
293
return &val;
284
294
}
285
295
@@ -290,7 +300,7 @@ void data_addDimension(APIHandles::Chart chart,
290
300
const std::uint32_t *categoryIndices,
291
301
std::uint32_t categoryIndicesCount)
292
302
{
293
- return Interface::getInstance ().addDimension (chart,
303
+ Interface::getInstance ().addDimension (chart,
294
304
name,
295
305
categories,
296
306
categoriesCount,
@@ -304,7 +314,7 @@ void data_addMeasure(APIHandles::Chart chart,
304
314
const double *values,
305
315
std::uint32_t count)
306
316
{
307
- return Interface::getInstance ().addMeasure (chart,
317
+ Interface::getInstance ().addMeasure (chart,
308
318
name,
309
319
unit,
310
320
values,
@@ -315,7 +325,7 @@ void data_addRecord(APIHandles::Chart chart,
315
325
const char *const *cells,
316
326
std::uint32_t count)
317
327
{
318
- return Interface::getInstance ().addRecord (chart, cells, count);
328
+ Interface::getInstance ().addRecord (chart, cells, count);
319
329
}
320
330
321
331
const char *data_metaInfo (APIHandles::Chart chart)
@@ -327,28 +337,26 @@ void addEventListener(APIHandles::Chart chart,
327
337
const char *name,
328
338
void (*callback)(APIHandles::Event event, const char *))
329
339
{
330
- return Interface::getInstance ().addEventListener (chart,
331
- name,
332
- callback);
340
+ Interface::getInstance ().addEventListener (chart, name, callback);
333
341
}
334
342
335
343
void removeEventListener (APIHandles::Chart chart,
336
344
const char *name,
337
345
void (*callback)(APIHandles::Event event, const char *))
338
346
{
339
- return Interface::getInstance ().removeEventListener (chart,
347
+ Interface::getInstance ().removeEventListener (chart,
340
348
name,
341
349
callback);
342
350
}
343
351
344
352
void event_preventDefault (APIHandles::Event event)
345
353
{
346
- return Interface::preventDefaultEvent (event);
354
+ Interface::preventDefaultEvent (event);
347
355
}
348
356
349
357
void chart_animate (APIHandles::Chart chart, void (*callback)(bool ))
350
358
{
351
- return Interface::getInstance ().animate (chart, callback);
359
+ Interface::getInstance ().animate (chart, callback);
352
360
}
353
361
354
362
const Point *
@@ -377,16 +385,14 @@ chart_canvasToRelCoords(APIHandles::Chart chart, double x, double y)
377
385
378
386
void chart_setKeyframe (APIHandles::Chart chart)
379
387
{
380
- return Interface::getInstance ().setKeyframe (chart);
388
+ Interface::getInstance ().setKeyframe (chart);
381
389
}
382
390
383
391
void anim_control_setValue (APIHandles::Chart chart,
384
392
const char *path,
385
393
const char *value)
386
394
{
387
- return Interface::getInstance ().setAnimControlValue (chart,
388
- path,
389
- value);
395
+ Interface::getInstance ().setAnimControlValue (chart, path, value);
390
396
}
391
397
392
398
const char *anim_control_getValue (APIHandles::Chart chart,
@@ -399,5 +405,5 @@ void anim_setValue(APIHandles::Chart chart,
399
405
const char *path,
400
406
const char *value)
401
407
{
402
- return Interface::getInstance ().setAnimValue (chart, path, value);
408
+ Interface::getInstance ().setAnimValue (chart, path, value);
403
409
}
0 commit comments