summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--acinclude.m42
-rw-r--r--client/mainwindow.cc39
-rw-r--r--client/mainwindow.h1
-rw-r--r--pixmaps/Makefile.am2
4 files changed, 35 insertions, 9 deletions
diff --git a/acinclude.m4 b/acinclude.m4
index 17469fc..cc682b4 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -151,7 +151,7 @@ case "${host}" in
*linux*)
QT_LIBS="$QT_LIB"
if test $QT_IS_STATIC = yes && test $QT_IS_EMBEDDED = no; then
- QT_LIBS="$QT_LIBS -L$x_libraries -lQtCore -lQtNetwork -lQtGui -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg"
+ QT_LIBS="$QT_LIBS -L$x_libraries -lQtCore -lQtNetwork -lQtGui -lQtSvg -lXext -lX11 -lm -lSM -lICE -ldl -ljpeg"
fi
;;
diff --git a/client/mainwindow.cc b/client/mainwindow.cc
index fa73a9e..d2c9248 100644
--- a/client/mainwindow.cc
+++ b/client/mainwindow.cc
@@ -39,21 +39,44 @@
#include "control.h"
-QPushButton *MainWindow::createButton(char* icon)
+#include <QSvgRenderer>
+#include <QPainter>
+
+#define SVG false
+
+QPixmap MainWindow::loadIcon(char* fname)
{
- QPixmap pixmap(icon);
+ QSvgRenderer svgrenderer;
+ QPainter painter;
int w = (int)((double)x11Info().appDpiX() / 1.5);
int h = (int)((double)x11Info().appDpiY() / 1.5);
- Qt::AspectRatioMode aspect = pixmap.width()<pixmap.height()?
- Qt::KeepAspectRatio:Qt::KeepAspectRatioByExpanding;
+ if(SVG) {
+ QPixmap pixmap(w, h);
+ painter.begin(&pixmap);
+ QString filename = fname;
+ svgrenderer.load(filename);
+ svgrenderer.render(&painter);
+ painter.end();
+ return pixmap;
+ } else {
+ QPixmap pixmap(fname);
+ Qt::AspectRatioMode aspect = pixmap.width()<pixmap.height()?
+ Qt::KeepAspectRatio:Qt::KeepAspectRatioByExpanding;
+ pixmap = pixmap.scaled(w,h, aspect, Qt::SmoothTransformation);
+ return pixmap;
+ }
+}
- pixmap = pixmap.scaled(w,h, aspect, Qt::SmoothTransformation);
+QPushButton *MainWindow::createButton(char* icon)
+{
+ int w = (int)((double)x11Info().appDpiX() / 1.5);
+ int h = (int)((double)x11Info().appDpiY() / 1.5);
QPushButton *btn = new QPushButton();
- btn->setIconSize(QSize(50,50));
- btn->setIcon(pixmap);
+ btn->setIconSize(QSize(w,h));
+ btn->setIcon(loadIcon(icon));
return btn;
}
@@ -152,7 +175,7 @@ void MainWindow::snapshot_clicked()
{
MIaV::control.shoot();
- QImage screenshot((uchar*)rgb, 720, 576, QImage::Format_RGB32);
+ QImage screenshot(720, 576, QImage::Format_RGB32);
decoder->snapshot((char*)screenshot.bits());
QPixmap *p = new QPixmap();
diff --git a/client/mainwindow.h b/client/mainwindow.h
index 9425d40..723b747 100644
--- a/client/mainwindow.h
+++ b/client/mainwindow.h
@@ -79,6 +79,7 @@ private:
VideoWidget *video;
QPushButton *createButton(char* icon);
+ QPixmap loadIcon(char* fname);
};
#endif/*__MIAV_MAINWINDOW_H__*/
diff --git a/pixmaps/Makefile.am b/pixmaps/Makefile.am
index eaadad6..c78868e 100644
--- a/pixmaps/Makefile.am
+++ b/pixmaps/Makefile.am
@@ -7,6 +7,7 @@ EXTRA_DIST = \
freeze.png \
miav-logo.png \
record.png \
+ record.svg \
snapshot.png \
stop.png \
unfreeze.png \
@@ -29,6 +30,7 @@ pixmap_DATA = \
freeze.png \
miav-logo.png \
record.png \
+ record.svg \
snapshot.png \
stop.png \
unfreeze.png \