FreeRDP
Loading...
Searching...
No Matches
SdlSelectWidget Class Reference

#include <sdl_select.hpp>

Inheritance diagram for SdlSelectWidget:
Collaboration diagram for SdlSelectWidget:

Public Member Functions

 SdlSelectWidget (SDL_Renderer *renderer, std::string label, SDL_Rect rect)
 
 SdlSelectWidget (SdlSelectWidget &&other) noexcept
 
bool set_mouseover (SDL_Renderer *renderer, bool mouseOver)
 
bool set_highlight (SDL_Renderer *renderer, bool highlight)
 
bool update_text (SDL_Renderer *renderer)
 
 SdlSelectWidget (const SdlSelectWidget &other)=delete
 
SdlSelectWidgetoperator= (const SdlSelectWidget &other)=delete
 
SdlSelectWidgetoperator= (SdlSelectWidget &&other)=delete
 
 SdlSelectWidget (std::shared_ptr< SDL_Renderer > &renderer, const std::string &label, const SDL_FRect &rect)
 
 SdlSelectWidget (SdlSelectWidget &&other) noexcept
 
 SdlSelectWidget (const SdlSelectWidget &other)=delete
 
SdlSelectWidgetoperator= (const SdlSelectWidget &other)=delete
 
SdlSelectWidgetoperator= (SdlSelectWidget &&other)=delete
 
- Public Member Functions inherited from SdlWidget
 SdlWidget (SDL_Renderer *renderer, SDL_Rect rect, bool input)
 
 SdlWidget (SdlWidget &&other) noexcept
 
bool fill (SDL_Renderer *renderer, SDL_Color color)
 
bool fill (SDL_Renderer *renderer, const std::vector< SDL_Color > &colors)
 
bool update_text (SDL_Renderer *renderer, const std::string &text, SDL_Color fgcolor)
 
bool update_text (SDL_Renderer *renderer, const std::string &text, SDL_Color fgcolor, SDL_Color bgcolor)
 
bool wrap () const
 
bool set_wrap (bool wrap=true, size_t width=0)
 
const SDL_Rect & rect () const
 
 SdlWidget (const SdlWidget &other)=delete
 
SdlWidgetoperator= (const SdlWidget &other)=delete
 
SdlWidgetoperator= (SdlWidget &&other)=delete
 
 SdlWidget (std::shared_ptr< SDL_Renderer > &renderer, const SDL_FRect &rect)
 
 SdlWidget (const SdlWidget &other)=delete
 
 SdlWidget (SdlWidget &&other) noexcept
 
SdlWidgetoperator= (const SdlWidget &other)=delete
 
SdlWidgetoperator= (SdlWidget &&other)=delete
 
bool fill (SDL_Color color) const
 
bool fill (const std::vector< SDL_Color > &colors) const
 
bool update_text (const std::string &text)
 
bool wrap () const
 
bool set_wrap (bool wrap=true, size_t width=0)
 
const SDL_FRect & rect () const
 
bool update ()
 
- Public Member Functions inherited from SdlSelectableWidget
 SdlSelectableWidget (std::shared_ptr< SDL_Renderer > &renderer, const SDL_FRect &rect)
 
 SdlSelectableWidget (SdlSelectableWidget &&other) noexcept
 
 SdlSelectableWidget (const SdlSelectableWidget &other)=delete
 
SdlSelectableWidgetoperator= (const SdlSelectableWidget &other)=delete
 
SdlSelectableWidgetoperator= (SdlSelectableWidget &&other)=delete
 
bool highlight (bool enable)
 
bool mouseover (bool enable)
 

Additional Inherited Members

- Static Public Member Functions inherited from SdlWidget
static bool error_ex (Sint32 res, const char *what, const char *file, size_t line, const char *fkt)
 
static bool error_ex (bool success, const char *what, const char *file, size_t line, const char *fkt)
 
- Protected Member Functions inherited from SdlWidget
virtual bool clear () const
 
- Protected Member Functions inherited from SdlSelectableWidget
bool updateInternal () override
 
- Protected Attributes inherited from SdlWidget
std::shared_ptr< SDL_Renderer > _renderer {}
 
SDL_Color _backgroundcolor = { 0x56, 0x56, 0x56, 0xff }
 
SDL_Color _fontcolor = { 0xd1, 0xcf, 0xcd, 0xff }
 
std::string _text
 
- Protected Attributes inherited from SdlSelectableWidget
SDL_Color _highlightcolor = { 0xcd, 0xca, 0x35, 0x60 }
 
SDL_Color _mouseovercolor = { 0x66, 0xff, 0x66, 0x60 }
 

Detailed Description

FreeRDP: A Remote Desktop Protocol Implementation SDL Client helper dialogs

Copyright 2023 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition at line 28 of file SDL2/dialogs/sdl_select.hpp.

Constructor & Destructor Documentation

◆ SdlSelectWidget() [1/2]

SdlSelectWidget::SdlSelectWidget ( SDL_Renderer *  renderer,
std::string  label,
SDL_Rect  rect 
)

Definition at line 39 of file SDL2/dialogs/sdl_select.cpp.

40 : SdlWidget(renderer, rect, true), _text(std::move(label)), _mouseover(false), _highlight(false)
41{
42 update_text(renderer);
43}

◆ SdlSelectWidget() [2/2]

SdlSelectWidget::SdlSelectWidget ( std::shared_ptr< SDL_Renderer > &  renderer,
const std::string &  label,
const SDL_FRect &  rect 
)

FreeRDP: A Remote Desktop Protocol Implementation SDL Client helper dialogs

Copyright 2023 Armin Novak armin.nosp@m..nov.nosp@m.ak@th.nosp@m.inca.nosp@m.st.co.nosp@m.m

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Definition at line 34 of file SDL3/dialogs/sdl_select.cpp.

36 : SdlSelectableWidget(renderer, rect)
37{
38 _backgroundcolor = { 0x69, 0x66, 0x63, 0xff };
39 _fontcolor = { 0xd1, 0xcf, 0xcd, 0xff };
40 update_text(label);
41}

Member Function Documentation

◆ set_highlight()

bool SdlSelectWidget::set_highlight ( SDL_Renderer *  renderer,
bool  highlight 
)

Definition at line 55 of file SDL2/dialogs/sdl_select.cpp.

56{
57 _highlight = highlight;
58 return update_text(renderer);
59}

◆ set_mouseover()

bool SdlSelectWidget::set_mouseover ( SDL_Renderer *  renderer,
bool  mouseOver 
)

Definition at line 49 of file SDL2/dialogs/sdl_select.cpp.

50{
51 _mouseover = mouseOver;
52 return update_text(renderer);
53}

◆ update_text()

bool SdlSelectWidget::update_text ( SDL_Renderer *  renderer)

Definition at line 61 of file SDL2/dialogs/sdl_select.cpp.

62{
63 assert(renderer);
64 std::vector<SDL_Color> colors = { labelbackgroundcolor };
65 if (_highlight)
66 colors.push_back(labelhighlightcolor);
67 if (_mouseover)
68 colors.push_back(labelmouseovercolor);
69 if (!fill(renderer, colors))
70 return false;
71 return SdlWidget::update_text(renderer, _text, labelfontcolor);
72}

The documentation for this class was generated from the following files: