2
* Copyright (C) 2013 Canonical, Ltd.
2
* Copyright (C) 2013-2014 Canonical, Ltd.
4
4
* This program is free software; you can redistribute it and/or modify
5
5
* it under the terms of the GNU Lesser General Public License as published by
63
64
return m_availableSizes;
67
QList<QSize> AalImageEncoderControl::supportedThumbnailResolutions(const QImageEncoderSettings &settings, bool *continuous) const
72
return m_availableThumbnailSizes;
66
75
void AalImageEncoderControl::init(CameraControl *control)
68
77
Q_ASSERT(control != NULL);
70
79
if (m_availableSizes.isEmpty()) {
71
android_camera_enumerate_supported_picture_sizes(control, &AalImageEncoderControl::setPictureSizeCb, this);
80
android_camera_enumerate_supported_picture_sizes(control, &AalImageEncoderControl::getPictureSizeCb, this);
81
android_camera_enumerate_supported_thumbnail_sizes(control, &AalImageEncoderControl::getThumbnailSizeCb, this);
91
101
android_camera_set_picture_size(cc, size.width(), size.height());
105
* \brief AalImageEncoderControl::setThumbnailSize sets the resolution of JPEG thumbnail
107
void AalImageEncoderControl::setThumbnailSize(const QSize &size)
109
CameraControl *cc = m_service->androidControl();
111
m_currentThumbnailSize = size;
115
if (!m_availableThumbnailSizes.contains(size)) {
116
qWarning() << "Thumbnail size " << size << "is not supported by the camera";
117
qWarning() << "Supported thumbnail sizes are: " << m_availableThumbnailSizes;
121
m_currentThumbnailSize = size;
123
android_camera_set_thumbnail_size(cc, size.width(), size.height());
94
126
void AalImageEncoderControl::resetAllSettings()
96
128
m_availableSizes.clear();
129
m_availableThumbnailSizes.clear();
97
130
m_currentSize = QSize();
131
m_currentThumbnailSize = QSize();
109
143
android_camera_set_picture_size(cc, m_currentSize.width(), m_currentSize.height());
112
void AalImageEncoderControl::setPictureSizeCb(void *ctx, int width, int height)
116
AalImageEncoderControl *self = static_cast<AalImageEncoderControl *>(ctx);
117
self->setPictureSize(width, height);
120
qWarning() << "ctx is NULL, cannot set supported camera resolutions." << endl;
123
void AalImageEncoderControl::setPictureSize(int width, int height)
144
android_camera_set_thumbnail_size(cc, m_currentThumbnailSize.width(), m_currentThumbnailSize.height());
147
void AalImageEncoderControl::getPictureSizeCb(void *ctx, int width, int height)
151
AalImageEncoderControl *self = static_cast<AalImageEncoderControl *>(ctx);
152
self->getPictureSize(width, height);
155
qWarning() << "ctx is NULL, cannot get supported camera resolutions." << endl;
158
void AalImageEncoderControl::getThumbnailSizeCb(void *ctx, int width, int height)
162
AalImageEncoderControl *self = static_cast<AalImageEncoderControl *>(ctx);
163
self->getThumbnailSize(width, height);
166
qWarning() << "ctx is NULL, cannot get supported thumbnail resolutions." << endl;
169
void AalImageEncoderControl::getPictureSize(int width, int height)
125
171
m_availableSizes.append(QSize(width, height));
174
void AalImageEncoderControl::getThumbnailSize(int width, int height)
176
m_availableThumbnailSizes.append(QSize(width, height));