summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Franzke <benjaminfranzke@googlemail.com>2011-04-29 14:16:39 +0200
committerBenjamin Franzke <benjaminfranzke@googlemail.com>2011-04-29 14:16:39 +0200
commit68b4cd41ba286956eacf2facbc9c4b5a9454ade7 (patch)
treec6cc432a1d9cbdd81c84755e2c5bf45e3f3f0b6d
parent802e2398b721e08666c54a1abb13023bbbd15749 (diff)
wfdpipeline: Add wfdGetPipelinef(v)
-rw-r--r--src/wfdapi.c39
-rw-r--r--src/wfdpipeline.c35
-rw-r--r--src/wfdpipeline.h12
3 files changed, 81 insertions, 5 deletions
diff --git a/src/wfdapi.c b/src/wfdapi.c
index 8e84e6b..20b6853 100644
--- a/src/wfdapi.c
+++ b/src/wfdapi.c
@@ -1112,11 +1112,25 @@ wfdGetPipelineAttribi(WFDDevice device_handle,
WFD_API_CALL WFDfloat WFD_APIENTRY
-wfdGetPipelineAttribf(WFDDevice device,
- WFDPipeline pipeline,
+wfdGetPipelineAttribf(WFDDevice device_handle,
+ WFDPipeline pipeline_handle,
WFDPipelineConfigAttrib attrib) WFD_APIEXIT
{
- return 0.;
+ struct wfd_device *device;
+ struct wfd_pipeline *pipeline;
+
+ device = wf_handle_get_object(device_handle, DEVICE_HANDLE);
+ if (device == NULL)
+ return 0.0;
+ wfd_device_set_error(device, WFD_ERROR_NONE);
+
+ pipeline = wf_handle_get_object(pipeline_handle, PIPELINE_HANDLE);
+ if (pipeline == NULL) {
+ wfd_device_set_error(device, WFD_ERROR_BAD_HANDLE);
+ return 0.0;
+ }
+
+ return wfd_pipeline_get_attribf(device, pipeline, attrib);
}
@@ -1146,12 +1160,27 @@ wfdGetPipelineAttribiv(WFDDevice device_handle,
WFD_API_CALL void WFD_APIENTRY
-wfdGetPipelineAttribfv(WFDDevice device,
- WFDPipeline pipeline,
+wfdGetPipelineAttribfv(WFDDevice device_handle,
+ WFDPipeline pipeline_handle,
WFDPipelineConfigAttrib attrib,
WFDint count,
WFDfloat *value) WFD_APIEXIT
{
+ struct wfd_device *device;
+ struct wfd_pipeline *pipeline;
+
+ device = wf_handle_get_object(device_handle, DEVICE_HANDLE);
+ if (device == NULL)
+ return;
+ wfd_device_set_error(device, WFD_ERROR_NONE);
+
+ pipeline = wf_handle_get_object(pipeline_handle, PIPELINE_HANDLE);
+ if (pipeline == NULL) {
+ wfd_device_set_error(device, WFD_ERROR_BAD_HANDLE);
+ return;
+ }
+
+ wfd_pipeline_get_attribfv(device, pipeline, attrib, count, value);
}
diff --git a/src/wfdpipeline.c b/src/wfdpipeline.c
index 3f270d8..dcab395 100644
--- a/src/wfdpipeline.c
+++ b/src/wfdpipeline.c
@@ -226,6 +226,22 @@ wfd_pipeline_get_attribi(struct wfd_device *device,
return 0;
}
+WFDfloat
+wfd_pipeline_get_attribf(struct wfd_device *device,
+ struct wfd_pipeline *pipeline,
+ WFDPipelineConfigAttrib attrib)
+{
+ switch (attrib) {
+ case WFD_PIPELINE_GLOBAL_ALPHA:
+ return 1.0;
+ default:
+ wfd_device_set_error(device, WFD_ERROR_BAD_ATTRIBUTE);
+ break;
+ };
+
+ return 0.0;
+}
+
void
wfd_pipeline_set_attribiv(struct wfd_device *device,
@@ -276,6 +292,25 @@ wfd_pipeline_get_attribiv(struct wfd_device *device,
}
void
+wfd_pipeline_get_attribfv(struct wfd_device *device,
+ struct wfd_pipeline *pipeline,
+ WFDPipelineConfigAttrib attrib,
+ WFDint count,
+ WFDfloat *value)
+{
+ switch (attrib) {
+ case WFD_PIPELINE_SCALE_RANGE:
+ if (count != 2)
+ return;
+ value[0] = value[1] = 1.0;
+ break;
+ default:
+ wfd_device_set_error(device, WFD_ERROR_BAD_ATTRIBUTE);
+ break;
+ }
+};
+
+void
wfd_pipeline_set_port(struct wfd_device *device,
struct wfd_pipeline *pipeline,
struct wfd_port *port)
diff --git a/src/wfdpipeline.h b/src/wfdpipeline.h
index 1e7ce56..e2561fe 100644
--- a/src/wfdpipeline.h
+++ b/src/wfdpipeline.h
@@ -66,6 +66,11 @@ wfd_pipeline_get_attribi(struct wfd_device *device,
struct wfd_pipeline *pipeline,
WFDPipelineConfigAttrib attrib);
+WFDfloat
+wfd_pipeline_get_attribf(struct wfd_device *device,
+ struct wfd_pipeline *pipeline,
+ WFDPipelineConfigAttrib attrib);
+
void
wfd_pipeline_set_attribiv(struct wfd_device *device,
struct wfd_pipeline *pipeline,
@@ -79,6 +84,13 @@ wfd_pipeline_get_attribiv(struct wfd_device *device,
WFDint count,
WFDint *value);
void
+wfd_pipeline_get_attribfv(struct wfd_device *device,
+ struct wfd_pipeline *pipeline,
+ WFDPipelineConfigAttrib attrib,
+ WFDint count,
+ WFDfloat *value);
+
+void
wfd_pipeline_set_port(struct wfd_device *device,
struct wfd_pipeline *pipeline,
struct wfd_port *port);