summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/pco/uca-pco-camera.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/plugins/pco/uca-pco-camera.c b/plugins/pco/uca-pco-camera.c
index 7629972..bae7b53 100644
--- a/plugins/pco/uca-pco-camera.c
+++ b/plugins/pco/uca-pco-camera.c
@@ -142,6 +142,8 @@ static gint base_overrideables[] = {
PROP_NAME,
PROP_SENSOR_WIDTH,
PROP_SENSOR_HEIGHT,
+ PROP_SENSOR_PIXEL_WIDTH,
+ PROP_SENSOR_PIXEL_HEIGHT,
PROP_SENSOR_BITDEPTH,
PROP_SENSOR_HORIZONTAL_BINNING,
PROP_SENSOR_HORIZONTAL_BINNINGS,
@@ -815,7 +817,7 @@ uca_pco_camera_set_property(GObject *object, guint property_id, const GValue *va
}
static void
-uca_pco_camera_get_property(GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
+uca_pco_camera_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
{
UcaPcoCameraPrivate *priv = UCA_PCO_CAMERA_GET_PRIVATE(object);
guint err = PCO_NOERROR;
@@ -837,6 +839,34 @@ uca_pco_camera_get_property(GObject *object, guint property_id, GValue *value, G
g_value_set_uint(value, priv->height);
break;
+ case PROP_SENSOR_PIXEL_WIDTH:
+ switch (priv->description->type) {
+ case CAMERATYPE_PCO_EDGE:
+ g_value_set_double (value, 0.0000065);
+ break;
+ case CAMERATYPE_PCO_DIMAX_STD:
+ g_value_set_double (value, 0.0000110);
+ break;
+ case CAMERATYPE_PCO4000:
+ g_value_set_double (value, 0.0000090);
+ break;
+ }
+ break;
+
+ case PROP_SENSOR_PIXEL_HEIGHT:
+ switch (priv->description->type) {
+ case CAMERATYPE_PCO_EDGE:
+ g_value_set_double (value, 0.0000065);
+ break;
+ case CAMERATYPE_PCO_DIMAX_STD:
+ g_value_set_double (value, 0.0000110);
+ break;
+ case CAMERATYPE_PCO4000:
+ g_value_set_double (value, 0.0000090);
+ break;
+ }
+ break;
+
case PROP_SENSOR_WIDTH_EXTENDED:
g_value_set_uint(value, priv->width_ex < priv->width ? priv->width : priv->width_ex);
break;