/
OptionsWindow.cpp
51 lines (41 loc) · 1.35 KB
/
OptionsWindow.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
* Copyright 2017-2023 Stefano Ceccherini <stefano.ceccherini@gmail.com>
* All rights reserved. Distributed under the terms of the MIT license.
*/
#include "OptionsWindow.h"
#include "FrameRateView.h"
#include "MediaFormatView.h"
#include <Box.h>
#include <GroupLayoutBuilder.h>
#include <GroupView.h>
#include <LayoutBuilder.h>
const static BRect kWindowRect(0, 0, 300, 200);
OptionsWindow::OptionsWindow()
:
BWindow(kWindowRect, "Encoding Settings", B_TITLED_WINDOW,
B_ASYNCHRONOUS_CONTROLS|B_AUTO_UPDATE_SIZE_LIMITS)
{
BBox *encodingBox = new BBox("encoding options");
BBox* frameBox = new BBox("frame rate");
BLayoutBuilder::Group<>(this, B_VERTICAL)
.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
.Add(encodingBox)
.Add(frameBox)
.End();
encodingBox->SetLabel("Encoding options");
frameBox->SetLabel("Frame rate");
BView* layoutView = BLayoutBuilder::Group<>()
.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
.Add(new MediaFormatView())
.View();
encodingBox->AddChild(layoutView);
layoutView = BLayoutBuilder::Group<>()
.SetInsets(B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING,
B_USE_DEFAULT_SPACING, B_USE_DEFAULT_SPACING)
.Add(new FrameRateView())
.View();
frameBox->AddChild(layoutView);
CenterOnScreen();
}