1 // Clip Library 2 // Copyright (c) 2015-2018 David Capello 3 // 4 // This file is released under the terms of the MIT license. 5 // Read LICENSE.txt for more information. 6 7 #ifndef CLIP_LOCK_IMPL_H_INCLUDED 8 #define CLIP_LOCK_IMPL_H_INCLUDED 9 10 namespace clip { 11 12 class lock::impl { 13 public: 14 impl(void* native_window_handle); 15 ~impl(); 16 locked()17 bool locked() const { return m_locked; } 18 bool clear(); 19 bool is_convertible(format f) const; 20 bool set_data(format f, const char* buf, size_t len); 21 bool get_data(format f, char* buf, size_t len) const; 22 size_t get_data_length(format f) const; 23 bool set_image(const image& image); 24 bool get_image(image& image) const; 25 bool get_image_spec(image_spec& spec) const; 26 27 private: 28 bool m_locked; 29 }; 30 31 } // namespace clip 32 33 #endif 34