add support for texture_rect texture type in shaders, add new form, clear up a few things in the API
This commit is contained in:
parent
eb8c2923f6
commit
f41bb4b7e9
@ -211,6 +211,8 @@ void ShaderProcessor::BuildString(string &outputString)
|
||||
output << "Texture3D";
|
||||
else if (strref_cmp(&token->str, "texture_cube") == 0)
|
||||
output << "TextureCube";
|
||||
else if (strref_cmp(&token->str, "texture_rect") == 0)
|
||||
throw "texture_rect is not supported in D3D";
|
||||
else if (strref_cmp(&token->str, "sampler_state") == 0)
|
||||
output << "SamplerState";
|
||||
else
|
||||
|
@ -75,6 +75,8 @@ static bool gl_write_type_n(struct gl_shader_parser *glsp,
|
||||
dstr_cat(&glsp->gl_string, "sampler3D");
|
||||
else if (cmp_type(type, len, "texture_cube", 12) == 0)
|
||||
dstr_cat(&glsp->gl_string, "samplerCube");
|
||||
else if (cmp_type(type, len, "texture_rect", 12) == 0)
|
||||
dstr_cat(&glsp->gl_string, "sampler2DRect");
|
||||
else
|
||||
return false;
|
||||
|
||||
|
@ -85,6 +85,7 @@ static inline const struct source_info *find_source(struct darray *list,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* internal initialization */
|
||||
bool obs_source_init(struct obs_source *source, const char *settings,
|
||||
const struct source_info *info)
|
||||
{
|
||||
@ -129,12 +130,13 @@ obs_source_t obs_source_create(enum obs_source_type type, const char *name,
|
||||
case SOURCE_TRANSITION: list = &obs->transition_types.da; break;
|
||||
case SOURCE_SCENE:
|
||||
default:
|
||||
blog(LOG_WARNING, "Tried to create invalid source type");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
info = find_source(list, name);
|
||||
if (!info) {
|
||||
blog(LOG_WARNING, "Source '%s' not found", name);
|
||||
blog(LOG_WARNING, "Source type '%s' not found", name);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -189,6 +191,7 @@ static void obs_source_destroy(obs_source_t source)
|
||||
pthread_mutex_destroy(&source->audio_mutex);
|
||||
pthread_mutex_destroy(&source->video_mutex);
|
||||
dstr_free(&source->settings);
|
||||
bfree(source->name);
|
||||
bfree(source);
|
||||
}
|
||||
|
||||
@ -273,6 +276,7 @@ void obs_source_video_tick(obs_source_t source, float seconds)
|
||||
source->callbacks.video_tick(source->data, seconds);
|
||||
}
|
||||
|
||||
/* maximum "direct" timestamp variance in nanoseconds */
|
||||
#define MAX_VARIANCE 2000000000ULL
|
||||
|
||||
static void source_output_audio_line(obs_source_t source,
|
||||
@ -293,7 +297,7 @@ static void source_output_audio_line(obs_source_t source,
|
||||
source->timing_adjust = in.timestamp - os_gettime_ns();
|
||||
|
||||
/* detects 'directly' set timestamps as long as they're within
|
||||
* a certain threashold */
|
||||
* a certain threshold */
|
||||
if ((source->timing_adjust+MAX_VARIANCE) < MAX_VARIANCE*2)
|
||||
source->timing_adjust = 0;
|
||||
}
|
||||
@ -605,7 +609,7 @@ void obs_source_filter_setorder(obs_source_t source, obs_source_t filter,
|
||||
da_move_item(source->filters, idx, 0);
|
||||
}
|
||||
|
||||
/* reorder filter targets */
|
||||
/* reorder filter targets, not the nicest way of dealing with things */
|
||||
for (i = 0; i < source->filters.num; i++) {
|
||||
obs_source_t next_filter = (i == source->filters.num-1) ?
|
||||
source : source->filters.array[idx+1];
|
||||
@ -774,6 +778,8 @@ void obs_source_output_audio(obs_source_t source,
|
||||
if (output) {
|
||||
pthread_mutex_lock(&source->audio_mutex);
|
||||
|
||||
/* wait for video to start before outputting any audio so we
|
||||
* have a base for sync */
|
||||
if (!source->timing_set && flags & SOURCE_ASYNC_VIDEO) {
|
||||
struct audiobuf newbuf;
|
||||
size_t audio_size = blocksize * output->frames;
|
||||
@ -802,7 +808,7 @@ void obs_source_output_audio(obs_source_t source,
|
||||
/*
|
||||
* Ensures that cached frames are displayed on time. If multiple frames
|
||||
* were cached between renders, then releases the unnecessary frames and uses
|
||||
* the frame with the closest timing.
|
||||
* the frame with the closest timing to ensure sync.
|
||||
*/
|
||||
struct source_frame *obs_source_getframe(obs_source_t source)
|
||||
{
|
||||
|
@ -204,33 +204,37 @@ struct obs_source {
|
||||
volatile int refs;
|
||||
|
||||
/* source-specific data */
|
||||
char *name;
|
||||
struct dstr settings;
|
||||
void *data;
|
||||
struct source_info callbacks;
|
||||
struct dstr settings;
|
||||
|
||||
/* used to indicate that the source has been removed and all
|
||||
* references to it should be released (not exactly how I would prefer
|
||||
* to handle things but it's the best option) */
|
||||
bool removed;
|
||||
|
||||
/* async video and audio */
|
||||
/* timing (if video is present, is based upon video) */
|
||||
bool timing_set;
|
||||
uint64_t timing_adjust;
|
||||
uint64_t last_frame_timestamp;
|
||||
uint64_t last_sys_timestamp;
|
||||
texture_t output_texture;
|
||||
|
||||
/* audio */
|
||||
bool audio_failed;
|
||||
struct resample_info sample_info;
|
||||
audio_resampler_t resampler;
|
||||
audio_line_t audio_line;
|
||||
DARRAY(struct audiobuf) audio_wait_buffer;
|
||||
DARRAY(struct source_frame*) video_frames;
|
||||
DARRAY(struct audiobuf) audio_wait_buffer; /* pending data */
|
||||
pthread_mutex_t audio_mutex;
|
||||
pthread_mutex_t video_mutex;
|
||||
struct filtered_audio audio_data;
|
||||
size_t audio_storage_size;
|
||||
|
||||
/* async video data */
|
||||
texture_t output_texture;
|
||||
DARRAY(struct source_frame*) video_frames;
|
||||
pthread_mutex_t video_mutex;
|
||||
|
||||
/* filters */
|
||||
struct obs_source *filter_parent;
|
||||
struct obs_source *filter_target;
|
||||
|
@ -738,3 +738,52 @@ OBSBasicSettingsBase::~OBSBasicSettingsBase()
|
||||
applyButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( OBSBasicSettingsBase::ApplyClicked ), NULL, this );
|
||||
|
||||
}
|
||||
|
||||
ProjectChooserBase::ProjectChooserBase( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
|
||||
{
|
||||
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
||||
|
||||
wxBoxSizer* bSizer40;
|
||||
bSizer40 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
m_staticText22 = new wxStaticText( this, wxID_ANY, _("ProjectChooser.SelectType"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
m_staticText22->Wrap( -1 );
|
||||
bSizer40->Add( m_staticText22, 0, wxALL, 5 );
|
||||
|
||||
wxBoxSizer* bSizer41;
|
||||
bSizer41 = new wxBoxSizer( wxVERTICAL );
|
||||
|
||||
basicButton = new wxButton( this, wxID_ANY, _("ProjectChooser.Basic"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer41->Add( basicButton, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
studioButton = new wxButton( this, wxID_ANY, _("ProjectChooser.Studio"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer41->Add( studioButton, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
exitButton = new wxButton( this, wxID_ANY, _("MainWindow.Exit"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||
bSizer41->Add( exitButton, 0, wxALL|wxEXPAND, 5 );
|
||||
|
||||
|
||||
bSizer40->Add( bSizer41, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
|
||||
|
||||
|
||||
this->SetSizer( bSizer40 );
|
||||
this->Layout();
|
||||
|
||||
this->Centre( wxBOTH );
|
||||
|
||||
// Connect Events
|
||||
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( ProjectChooserBase::OnClose ) );
|
||||
basicButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::BasicClicked ), NULL, this );
|
||||
studioButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::StudioClicked ), NULL, this );
|
||||
exitButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::ExitClicked ), NULL, this );
|
||||
}
|
||||
|
||||
ProjectChooserBase::~ProjectChooserBase()
|
||||
{
|
||||
// Disconnect Events
|
||||
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( ProjectChooserBase::OnClose ) );
|
||||
basicButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::BasicClicked ), NULL, this );
|
||||
studioButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::StudioClicked ), NULL, this );
|
||||
exitButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ProjectChooserBase::ExitClicked ), NULL, this );
|
||||
|
||||
}
|
||||
|
@ -6966,5 +6966,432 @@
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
<object class="Dialog" expanded="0">
|
||||
<property name="aui_managed">0</property>
|
||||
<property name="aui_manager_style">wxAUI_MGR_DEFAULT</property>
|
||||
<property name="bg"></property>
|
||||
<property name="center">wxBOTH</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="event_handler">impl_virtual</property>
|
||||
<property name="extra_style"></property>
|
||||
<property name="fg"></property>
|
||||
<property name="font"></property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">ID_PROJECT_CHOOSER</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">ProjectChooserBase</property>
|
||||
<property name="pos"></property>
|
||||
<property name="size">445,159</property>
|
||||
<property name="style">wxDEFAULT_DIALOG_STYLE</property>
|
||||
<property name="subclass"></property>
|
||||
<property name="title">ProjectChooser</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnActivate"></event>
|
||||
<event name="OnActivateApp"></event>
|
||||
<event name="OnAuiFindManager"></event>
|
||||
<event name="OnAuiPaneButton"></event>
|
||||
<event name="OnAuiPaneClose"></event>
|
||||
<event name="OnAuiPaneMaximize"></event>
|
||||
<event name="OnAuiPaneRestore"></event>
|
||||
<event name="OnAuiRender"></event>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnClose">OnClose</event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnHibernate"></event>
|
||||
<event name="OnIconize"></event>
|
||||
<event name="OnIdle"></event>
|
||||
<event name="OnInitDialog"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer40</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxStaticText" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">ProjectChooser.SelectType</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">m_staticText22</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<property name="wrap">-1</property>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALIGN_CENTER_HORIZONTAL</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxBoxSizer" expanded="0">
|
||||
<property name="minimum_size"></property>
|
||||
<property name="name">bSizer41</property>
|
||||
<property name="orient">wxVERTICAL</property>
|
||||
<property name="permission">none</property>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default">0</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">ProjectChooser.Basic</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">basicButton</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnButtonClick">BasicClicked</event>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default">0</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">ProjectChooser.Studio</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">studioButton</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnButtonClick">StudioClicked</event>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
<object class="sizeritem" expanded="0">
|
||||
<property name="border">5</property>
|
||||
<property name="flag">wxALL|wxEXPAND</property>
|
||||
<property name="proportion">0</property>
|
||||
<object class="wxButton" expanded="0">
|
||||
<property name="BottomDockable">1</property>
|
||||
<property name="LeftDockable">1</property>
|
||||
<property name="RightDockable">1</property>
|
||||
<property name="TopDockable">1</property>
|
||||
<property name="aui_layer"></property>
|
||||
<property name="aui_name"></property>
|
||||
<property name="aui_position"></property>
|
||||
<property name="aui_row"></property>
|
||||
<property name="best_size"></property>
|
||||
<property name="bg"></property>
|
||||
<property name="caption"></property>
|
||||
<property name="caption_visible">1</property>
|
||||
<property name="center_pane">0</property>
|
||||
<property name="close_button">1</property>
|
||||
<property name="context_help"></property>
|
||||
<property name="context_menu">1</property>
|
||||
<property name="default">0</property>
|
||||
<property name="default_pane">0</property>
|
||||
<property name="dock">Dock</property>
|
||||
<property name="dock_fixed">0</property>
|
||||
<property name="docking">Left</property>
|
||||
<property name="enabled">1</property>
|
||||
<property name="fg"></property>
|
||||
<property name="floatable">1</property>
|
||||
<property name="font"></property>
|
||||
<property name="gripper">0</property>
|
||||
<property name="hidden">0</property>
|
||||
<property name="id">wxID_ANY</property>
|
||||
<property name="label">MainWindow.Exit</property>
|
||||
<property name="max_size"></property>
|
||||
<property name="maximize_button">0</property>
|
||||
<property name="maximum_size"></property>
|
||||
<property name="min_size"></property>
|
||||
<property name="minimize_button">0</property>
|
||||
<property name="minimum_size"></property>
|
||||
<property name="moveable">1</property>
|
||||
<property name="name">exitButton</property>
|
||||
<property name="pane_border">1</property>
|
||||
<property name="pane_position"></property>
|
||||
<property name="pane_size"></property>
|
||||
<property name="permission">protected</property>
|
||||
<property name="pin_button">1</property>
|
||||
<property name="pos"></property>
|
||||
<property name="resize">Resizable</property>
|
||||
<property name="show">1</property>
|
||||
<property name="size"></property>
|
||||
<property name="style"></property>
|
||||
<property name="subclass"></property>
|
||||
<property name="toolbar_pane">0</property>
|
||||
<property name="tooltip"></property>
|
||||
<property name="validator_data_type"></property>
|
||||
<property name="validator_style">wxFILTER_NONE</property>
|
||||
<property name="validator_type">wxDefaultValidator</property>
|
||||
<property name="validator_variable"></property>
|
||||
<property name="window_extra_style"></property>
|
||||
<property name="window_name"></property>
|
||||
<property name="window_style"></property>
|
||||
<event name="OnButtonClick">ExitClicked</event>
|
||||
<event name="OnChar"></event>
|
||||
<event name="OnEnterWindow"></event>
|
||||
<event name="OnEraseBackground"></event>
|
||||
<event name="OnKeyDown"></event>
|
||||
<event name="OnKeyUp"></event>
|
||||
<event name="OnKillFocus"></event>
|
||||
<event name="OnLeaveWindow"></event>
|
||||
<event name="OnLeftDClick"></event>
|
||||
<event name="OnLeftDown"></event>
|
||||
<event name="OnLeftUp"></event>
|
||||
<event name="OnMiddleDClick"></event>
|
||||
<event name="OnMiddleDown"></event>
|
||||
<event name="OnMiddleUp"></event>
|
||||
<event name="OnMotion"></event>
|
||||
<event name="OnMouseEvents"></event>
|
||||
<event name="OnMouseWheel"></event>
|
||||
<event name="OnPaint"></event>
|
||||
<event name="OnRightDClick"></event>
|
||||
<event name="OnRightDown"></event>
|
||||
<event name="OnRightUp"></event>
|
||||
<event name="OnSetFocus"></event>
|
||||
<event name="OnSize"></event>
|
||||
<event name="OnUpdateUI"></event>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</object>
|
||||
</wxFormBuilder_Project>
|
||||
|
@ -97,6 +97,7 @@ class WindowSubclass;
|
||||
#define ID_OK 1050
|
||||
#define ID_CANCEL 1051
|
||||
#define ID_APPLY 1052
|
||||
#define ID_PROJECT_CHOOSER 1053
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class OBSBasicBase
|
||||
@ -262,4 +263,31 @@ class OBSBasicSettingsBase : public DialogSubclass
|
||||
|
||||
};
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
/// Class ProjectChooserBase
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
class ProjectChooserBase : public wxDialog
|
||||
{
|
||||
private:
|
||||
|
||||
protected:
|
||||
wxStaticText* m_staticText22;
|
||||
wxButton* basicButton;
|
||||
wxButton* studioButton;
|
||||
wxButton* exitButton;
|
||||
|
||||
// Virtual event handlers, overide them in your derived class
|
||||
virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
|
||||
virtual void BasicClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void StudioClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
virtual void ExitClicked( wxCommandEvent& event ) { event.Skip(); }
|
||||
|
||||
|
||||
public:
|
||||
|
||||
ProjectChooserBase( wxWindow* parent, wxWindowID id = ID_PROJECT_CHOOSER, const wxString& title = _("ProjectChooser"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 445,159 ), long style = wxDEFAULT_DIALOG_STYLE );
|
||||
~ProjectChooserBase();
|
||||
|
||||
};
|
||||
|
||||
#endif //__OBSWINDOWS_H__
|
||||
|
@ -20,6 +20,10 @@
|
||||
#include "forms/OBSWindows.h"
|
||||
|
||||
class OBSBasic : public OBSBasicBase {
|
||||
void NewProject();
|
||||
void SaveProject();
|
||||
void LoadProject();
|
||||
|
||||
protected:
|
||||
virtual void OnClose(wxCloseEvent &event);
|
||||
virtual void OnMinimize(wxIconizeEvent &event);
|
||||
|
Loading…
x
Reference in New Issue
Block a user