stlab.adobe.com Adobe Systems Incorporated

platform_window.hpp

Go to the documentation of this file.
00001 /*
00002     Copyright 2005-2007 Adobe Systems Incorporated
00003     Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt
00004     or a copy at http://stlab.adobe.com/licenses.html)
00005 */
00006 
00007 /****************************************************************************************************/
00008 
00009 #ifndef ADOBE_WIDGET_WINDOW_HPP
00010 #define ADOBE_WIDGET_WINDOW_HPP
00011 
00012 /****************************************************************************************************/
00013 
00014 #include <adobe/config.hpp>
00015 
00016 #include <windows.h>
00017 
00018 #include <adobe/any_regular.hpp>
00019 #include <adobe/eve.hpp>
00020 #include <adobe/extents.hpp>
00021 #include <adobe/future/platform_primitives.hpp>
00022 #include <adobe/future/widgets/headers/window_helper.hpp>
00023 #include <adobe/layout_attributes.hpp>
00024 #include <adobe/widget_attributes.hpp>
00025 
00026 #include <boost/function.hpp>
00027 
00028 #include <string>
00029 
00030 /****************************************************************************************************/
00031 
00032 namespace adobe {
00033 
00034 /****************************************************************************************************/
00035 
00036 struct window_t
00037 {
00038     window_t(const std::string&  name,
00039              window_style_t      style,
00040              window_attributes_t attributes,
00041              window_modality_t   modality,
00042              theme_t             theme);
00043 
00044     ~window_t();
00045 
00046     void measure(extents_t& result);
00047 
00048     void place(const place_data_t& place_data);
00049 
00050     void set_visible(bool make_visible);
00051 
00052     void set_size(const point_2d_t& size);
00053 
00054     void reposition(window_reposition_t position);
00055  
00056     void monitor_resize(const window_resize_proc_t& proc);
00057 
00058     any_regular_t underlying_handler() { return any_regular_t(window_m); }
00059 
00060     bool handle_key(key_type /*key*/, bool /*pressed*/, modifiers_t /*modifiers*/)
00061         { return false; }
00062 
00063     HWND                 window_m;
00064     std::string          name_m;
00065     window_style_t       style_m;
00066     window_attributes_t  attributes_m;
00067     window_modality_t    modality_m;
00068     theme_t              theme_m;
00069     place_data_t         place_data_m;
00070     window_resize_proc_t resize_proc_m;
00071     bool                 debounce_m;
00072     point_2d_t           min_size_m;
00073     bool                 placed_once_m;
00074 };
00075 
00076 /****************************************************************************************************/
00077 
00078 } // namespace adobe
00079 
00080 /****************************************************************************************************/
00081 
00082 #endif
00083 
00084 /****************************************************************************************************/

Copyright © 2006-2007 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google