Dwayne Harris
2 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 <gtkmm/application.h>
|
|||
#include <GL/freeglut.h>
|
|||
|
|||
int main(int argc, char *argv[]) |
|||
{ |
|||
auto app = Gtk::Application::create(argc, argv, "xyz.dwayne.screenrecorder"); |
|||
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); |
|||
} |
@ -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