39fbf5509b
* Fixed a general problem with respect to overriding of the reserved virtual function slots: instead of statically invoking the method that corresponds to the reserved slot on the class that contains the slot, we now invoke the virtual Perform() method. Perform() then dispatches the method invocation to the "proper" class, i.e. the highest class in the hierarchy that actually implements the requested method. This fixes a crash in apps that use liblayout's MSlider class and should fix one or other spurious bug with old apps or libraries, too. * added new header folder 'binary_compatibility' that contains files that define the method codes and data structures required by Perform() * looked for and implemented all used reserved virtual slot functions to invoke Perform() where necessary or to pass on the method call statically (for slots that were already maintained by Be) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28124 a95241bf-73f2-0310-859d-f6bbb57e9c96
50 lines
881 B
C
50 lines
881 B
C
/*
|
|
* Copyright 2008, Oliver Tappe, zooey@hirschkaefer.de.
|
|
* Copyright 2008, Ingo Weinhold, ingo_weinhold@gmx.de.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _BINARY_COMPATIBILITY_INTERFACE_H_
|
|
#define _BINARY_COMPATIBILITY_INTERFACE_H_
|
|
|
|
|
|
#include <binary_compatibility/Global.h>
|
|
|
|
|
|
struct perform_data_min_size {
|
|
BSize return_value;
|
|
};
|
|
|
|
struct perform_data_max_size {
|
|
BSize return_value;
|
|
};
|
|
|
|
struct perform_data_preferred_size {
|
|
BSize return_value;
|
|
};
|
|
|
|
struct perform_data_layout_alignment {
|
|
BAlignment return_value;
|
|
};
|
|
|
|
struct perform_data_has_height_for_width {
|
|
bool return_value;
|
|
};
|
|
|
|
struct perform_data_get_height_for_width {
|
|
float width;
|
|
float min;
|
|
float max;
|
|
float preferred;
|
|
};
|
|
|
|
struct perform_data_set_layout {
|
|
BLayout* layout;
|
|
};
|
|
|
|
struct perform_data_invalidate_layout {
|
|
bool descendants;
|
|
};
|
|
|
|
|
|
#endif /* _BINARY_COMPATIBILITY_INTERFACE_H_ */
|