Dwayne Harris
3 years ago
13 changed files with 265 additions and 61 deletions
-
2.kdev4/screen-recorder.kdev4
-
11Makefile
-
47main-window.cpp
-
28main-window.hpp
-
9main.cpp
-
146obs-manager.cpp
-
15obs-manager.hpp
-
25preview-window.cpp
-
17preview-window.hpp
-
23recording-window.hpp
-
BINscreenrecorder
-
2settings-manager.cpp
-
1settings-window.cpp
@ -0,0 +1,28 @@ |
|||||
|
#ifndef SCREEN_RECORDER_MAIN_WINDOW_HPP
|
||||
|
#define SCREEN_RECORDER_MAIN_WINDOW_HPP
|
||||
|
|
||||
|
#include <gtkmm.h>
|
||||
|
#include "obs-manager.hpp"
|
||||
|
#include "settings-window.hpp"
|
||||
|
#include "preview-window.hpp"
|
||||
|
|
||||
|
class MainWindow : public Gtk::Window |
||||
|
{ |
||||
|
public: |
||||
|
MainWindow(OBSManager *obs); |
||||
|
virtual ~MainWindow(); |
||||
|
private: |
||||
|
OBSManager *mOBS; |
||||
|
void onStartClicked(); |
||||
|
void onSettingsClicked(); |
||||
|
void onExitClicked(); |
||||
|
Gtk::Box mBoxMain; |
||||
|
Gtk::Button mButtonStart; |
||||
|
Gtk::Button mButtonSettings; |
||||
|
Gtk::Button mButtonExit; |
||||
|
Gtk::Label mLabelVersion; |
||||
|
SettingsWindow mSettingsWindow; |
||||
|
PreviewWindow mPreviewWindow; |
||||
|
}; |
||||
|
|
||||
|
#endif
|
@ -1,13 +1,18 @@ |
|||||
#include "recording-window.hpp"
|
|
||||
|
#include "main-window.hpp"
|
||||
#include "obs-manager.hpp"
|
#include "obs-manager.hpp"
|
||||
#include <gtkmm/application.h>
|
#include <gtkmm/application.h>
|
||||
|
#include <GL/freeglut.h>
|
||||
|
|
||||
int main(int argc, char *argv[]) |
int main(int argc, char *argv[]) |
||||
{ |
{ |
||||
auto app = Gtk::Application::create(argc, argv, "xyz.dwayne.screenrecorder"); |
auto app = Gtk::Application::create(argc, argv, "xyz.dwayne.screenrecorder"); |
||||
auto obs = new OBSManager(); |
auto obs = new OBSManager(); |
||||
|
|
||||
RecordingWindow win(obs); |
|
||||
|
// This just initializes OpenGL.
|
||||
|
// The program won't run if OpenGL hasn't been initialized.
|
||||
|
glutInit(&argc, argv); |
||||
|
|
||||
|
MainWindow win(obs); |
||||
|
|
||||
return app->run(win); |
return app->run(win); |
||||
} |
} |
@ -0,0 +1,25 @@ |
|||||
|
#include "preview-window.hpp"
|
||||
|
#include "obs-manager.hpp"
|
||||
|
|
||||
|
PreviewWindow::PreviewWindow(OBSManager *obs) |
||||
|
{ |
||||
|
set_title("Preview"); |
||||
|
set_default_size(obs->PreviewWidth, obs->PreviewHeight); |
||||
|
|
||||
|
mOBS = obs; |
||||
|
} |
||||
|
|
||||
|
PreviewWindow::~PreviewWindow() |
||||
|
{ |
||||
|
} |
||||
|
|
||||
|
void PreviewWindow::on_realize() |
||||
|
{ |
||||
|
Gtk::Widget::on_realize(); |
||||
|
|
||||
|
mOBS->Initialize(); |
||||
|
mOBS->SetPreviewWindow( |
||||
|
GDK_WINDOW_XID(get_window()->gobj()), |
||||
|
GDK_WINDOW_XDISPLAY(get_window()->gobj()) |
||||
|
); |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
#ifndef SCREEN_RECORDER_PREVIEW_WINDOW_HPP
|
||||
|
#define SCREEN_RECORDER_PREVIEW_WINDOW_HPP
|
||||
|
|
||||
|
#include <gtkmm.h>
|
||||
|
#include "obs-manager.hpp"
|
||||
|
|
||||
|
class PreviewWindow : public Gtk::Window |
||||
|
{ |
||||
|
public: |
||||
|
PreviewWindow(OBSManager *obs); |
||||
|
virtual ~PreviewWindow(); |
||||
|
private: |
||||
|
void on_realize(); |
||||
|
OBSManager *mOBS; |
||||
|
}; |
||||
|
|
||||
|
#endif
|
@ -1,23 +0,0 @@ |
|||||
#ifndef SCREEN_RECORDER_RECORDING_WINDOW_HPP
|
|
||||
#define SCREEN_RECORDER_RECORDING_WINDOW_HPP
|
|
||||
|
|
||||
#include <gtkmm.h>
|
|
||||
#include "obs-manager.hpp"
|
|
||||
#include "settings-window.hpp"
|
|
||||
|
|
||||
class RecordingWindow : public Gtk::Window |
|
||||
{ |
|
||||
public: |
|
||||
RecordingWindow(OBSManager *obs); |
|
||||
virtual ~RecordingWindow(); |
|
||||
private: |
|
||||
void onStartClicked(); |
|
||||
void onSettingsClicked(); |
|
||||
Gtk::Box mBoxMain; |
|
||||
Gtk::Button mButtonStart; |
|
||||
Gtk::Button mButtonSettings; |
|
||||
Gtk::Label mLabelVersion; |
|
||||
SettingsWindow mSettingsWindow; |
|
||||
}; |
|
||||
|
|
||||
#endif
|
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue