summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-05 17:50:00 +0300
committerMikhail Pozdnyakov <mikhail.pozdnyakov@mapbox.com>2019-07-05 18:03:01 +0300
commitca646fef52275816bc83e3c503e87ca4cc631493 (patch)
treeb924438baa12539e7660deb69d28cdc4b40b6b8c
parent4532b180530b7f0dd388610f8b26b069739b720f (diff)
downloadqtlocation-mapboxgl-ca646fef52275816bc83e3c503e87ca4cc631493.tar.gz
[core] Move ColorRampRenderData to separate files
-rw-r--r--src/core-files.json2
-rw-r--r--src/mbgl/renderer/color_ramp_render_data.cpp30
-rw-r--r--src/mbgl/renderer/color_ramp_render_data.hpp26
-rw-r--r--src/mbgl/renderer/layers/render_line_layer.cpp21
-rw-r--r--src/mbgl/renderer/layers/render_line_layer.hpp13
5 files changed, 60 insertions, 32 deletions
diff --git a/src/core-files.json b/src/core-files.json
index f2da5a3d05..aef48d898b 100644
--- a/src/core-files.json
+++ b/src/core-files.json
@@ -109,6 +109,7 @@
"src/mbgl/renderer/buckets/line_bucket.cpp",
"src/mbgl/renderer/buckets/raster_bucket.cpp",
"src/mbgl/renderer/buckets/symbol_bucket.cpp",
+ "src/mbgl/renderer/color_ramp_render_data.cpp",
"src/mbgl/renderer/cross_faded_property_evaluator.cpp",
"src/mbgl/renderer/group_by_layout.cpp",
"src/mbgl/renderer/image_atlas.cpp",
@@ -622,6 +623,7 @@
"mbgl/renderer/buckets/line_bucket.hpp": "src/mbgl/renderer/buckets/line_bucket.hpp",
"mbgl/renderer/buckets/raster_bucket.hpp": "src/mbgl/renderer/buckets/raster_bucket.hpp",
"mbgl/renderer/buckets/symbol_bucket.hpp": "src/mbgl/renderer/buckets/symbol_bucket.hpp",
+ "mbgl/renderer/color_ramp_render_data.hpp": "src/mbgl/renderer/color_ramp_render_data.hpp",
"mbgl/renderer/cross_faded_property_evaluator.hpp": "src/mbgl/renderer/cross_faded_property_evaluator.hpp",
"mbgl/renderer/data_driven_property_evaluator.hpp": "src/mbgl/renderer/data_driven_property_evaluator.hpp",
"mbgl/renderer/group_by_layout.hpp": "src/mbgl/renderer/group_by_layout.hpp",
diff --git a/src/mbgl/renderer/color_ramp_render_data.cpp b/src/mbgl/renderer/color_ramp_render_data.cpp
new file mode 100644
index 0000000000..960649dc1d
--- /dev/null
+++ b/src/mbgl/renderer/color_ramp_render_data.cpp
@@ -0,0 +1,30 @@
+#include <mbgl/renderer/color_ramp_render_data.hpp>
+
+#include <mbgl/gfx/upload_pass.hpp>
+#include <mbgl/style/color_ramp_property_value.hpp>
+
+namespace mbgl {
+
+ColorRampRenderData::ColorRampRenderData(const style::ColorRampPropertyValue& value)
+ : image({256, 1}) {
+ assert(!value.isUndefined());
+ const auto length = image.bytes();
+
+ for (uint32_t i = 0; i < length; i += 4) {
+ const auto color = value.evaluate(static_cast<double>(i) / length);
+ image.data[i] = std::floor(color.r * 255);
+ image.data[i + 1] = std::floor(color.g * 255);
+ image.data[i + 2] = std::floor(color.b * 255);
+ image.data[i + 3] = std::floor(color.a * 255);
+ }
+}
+
+ColorRampRenderData::~ColorRampRenderData() = default;
+
+void ColorRampRenderData::upload(gfx::UploadPass& uploadPass) {
+ if (!texture) {
+ texture = uploadPass.createTexture(image);
+ }
+}
+
+} // namespace mbgl
diff --git a/src/mbgl/renderer/color_ramp_render_data.hpp b/src/mbgl/renderer/color_ramp_render_data.hpp
new file mode 100644
index 0000000000..39b130ffea
--- /dev/null
+++ b/src/mbgl/renderer/color_ramp_render_data.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+#include <mbgl/gfx/texture.hpp>
+#include <mbgl/util/image.hpp>
+#include <mbgl/util/optional.hpp>
+
+namespace mbgl {
+
+namespace style {
+class ColorRampPropertyValue;
+} // namespace style
+
+namespace gfx {
+class UploadPass;
+} // namespace gfx
+
+class ColorRampRenderData {
+public:
+ explicit ColorRampRenderData(const style::ColorRampPropertyValue&);
+ ~ColorRampRenderData();
+ void upload(gfx::UploadPass&);
+ const PremultipliedImage image;
+ optional<gfx::Texture> texture;
+};
+
+} // namespace mbgl
diff --git a/src/mbgl/renderer/layers/render_line_layer.cpp b/src/mbgl/renderer/layers/render_line_layer.cpp
index 05412fa49a..272cadfb97 100644
--- a/src/mbgl/renderer/layers/render_line_layer.cpp
+++ b/src/mbgl/renderer/layers/render_line_layer.cpp
@@ -1,5 +1,6 @@
#include <mbgl/renderer/layers/render_line_layer.hpp>
#include <mbgl/renderer/buckets/line_bucket.hpp>
+#include <mbgl/renderer/color_ramp_render_data.hpp>
#include <mbgl/renderer/render_tile.hpp>
#include <mbgl/renderer/render_source.hpp>
#include <mbgl/renderer/upload_parameters.hpp>
@@ -20,26 +21,6 @@ namespace mbgl {
using namespace style;
-ColorRampRenderData::ColorRampRenderData(const style::ColorRampPropertyValue& value)
- : image({256, 1}) {
- assert(!value.isUndefined());
- const auto length = image.bytes();
-
- for (uint32_t i = 0; i < length; i += 4) {
- const auto color = value.evaluate(static_cast<double>(i) / length);
- image.data[i] = std::floor(color.r * 255);
- image.data[i + 1] = std::floor(color.g * 255);
- image.data[i + 2] = std::floor(color.b * 255);
- image.data[i + 3] = std::floor(color.a * 255);
- }
-}
-
-void ColorRampRenderData::upload(gfx::UploadPass& uploadPass) {
- if (!texture) {
- texture = uploadPass.createTexture(image);
- }
-}
-
inline const LineLayer::Impl& impl(const Immutable<style::Layer::Impl>& impl) {
return static_cast<const LineLayer::Impl&>(*impl);
}
diff --git a/src/mbgl/renderer/layers/render_line_layer.hpp b/src/mbgl/renderer/layers/render_line_layer.hpp
index cb2d7ebda2..e300f95e5b 100644
--- a/src/mbgl/renderer/layers/render_line_layer.hpp
+++ b/src/mbgl/renderer/layers/render_line_layer.hpp
@@ -6,21 +6,10 @@
#include <mbgl/programs/uniforms.hpp>
#include <mbgl/style/image_impl.hpp>
#include <mbgl/layout/pattern_layout.hpp>
-#include <mbgl/gfx/texture.hpp>
namespace mbgl {
-namespace style {
-class ColorRampPropertyValue;
-} // namespace style
-
-class ColorRampRenderData {
-public:
- explicit ColorRampRenderData(const style::ColorRampPropertyValue&);
- void upload(gfx::UploadPass&);
- const PremultipliedImage image;
- optional<gfx::Texture> texture;
-};
+class ColorRampRenderData;
class RenderLineLayer final : public RenderLayer {
public: