[haiku-commits] haiku: hrev45798 - docs/user/interface

  • From: jscipione@xxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 29 Jun 2013 02:38:44 +0200 (CEST)

hrev45798 adds 3 changesets to branch 'master'
old head: 77ea49f4f2cb0e369fa27a5ca8870207e3046af6
new head: dd84193fa4d42d9adf458c51ac673f56e9a1dd55
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=dd84193+%5E77ea49f

----------------------------------------------------------------------------

2891821: Fill out the BView docs
  
  * Fill out the Input related method descriptions and also some other updates
    to method and variable descriptions.
  * Document Graphics State Methods and a bunch of Drawing Related Methods
  * Add a bunch more drawing method descriptions.
  * Fill out the rest of the methods of the BView class.

1126023: Fill out the constructor docs.

dd84193: Begin filling out the detailed description

                                     [ John Scipione <jscipione@xxxxxxxxx> ]

----------------------------------------------------------------------------

3 files changed, 3405 insertions(+), 88 deletions(-)
docs/user/interface/GraphicsDefs.dox  |   93 +
docs/user/interface/InterfaceDefs.dox |   85 +-
docs/user/interface/View.dox          | 3315 ++++++++++++++++++++++++++++-

############################################################################

Commit:      2891821fde012eb5537be0b5720872024c34d51d
URL:         http://cgit.haiku-os.org/haiku/commit/?id=2891821
Author:      John Scipione <jscipione@xxxxxxxxx>
Date:        Tue Jun  4 00:12:40 2013 UTC

Fill out the BView docs

* Fill out the Input related method descriptions and also some other updates
  to method and variable descriptions.
* Document Graphics State Methods and a bunch of Drawing Related Methods
* Add a bunch more drawing method descriptions.
* Fill out the rest of the methods of the BView class.

----------------------------------------------------------------------------

diff --git a/docs/user/interface/GraphicsDefs.dox 
b/docs/user/interface/GraphicsDefs.dox
new file mode 100644
index 0000000..b169423
--- /dev/null
+++ b/docs/user/interface/GraphicsDefs.dox
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2013 Haiku, Inc. All rights reserved.
+ * Distributed under the terms of the MIT License.
+ *
+ * Authors:
+ *             John Scipione, jscipione@xxxxxxxxx
+ *
+ * Corresponds to:
+ *             headers/os/interface/GraphicsDefs.h     hrev45737
+ *             src/kits/interface/GraphicsDefs.cpp     hrev45737
+ */
+
+
+/*!
+       \file GraphicsDefs.h
+       \ingroup interface
+       \ingroup libbe
+       \brief Graphics-related functions and variables used by the Interface 
Kit.
+*/
+
+
+/*!
+       \struct pattern
+       \ingroup interface
+       \ingroup libbe
+       \brief A pattern to use when drawing.
+*/
+
+
+/*!
+       \var B_SOLID_HIGH
+
+       Draw using the view's high color.
+*/
+
+
+/*!
+       \var B_MIXED_COLORS
+
+       Draw a pattern of the view's high and low colors.
+*/
+
+
+/*!
+       \var B_SOLID_LOW
+
+       Draw using the view's low color.
+*/
+
+
+/*!
+       \enum source_alpha
+       \ingroup interface
+
+       Blending alpha mode constants.
+*/
+
+
+/*!
+       \var source_alpha B_PIXEL_ALPHA
+
+       Use the alpha value of each pixel when drawing a bitmap.
+*/
+
+
+/*!
+       \var source_alpha B_CONSTANT_ALPHA
+
+       Use the alpha channel of the view's high color.
+*/
+
+
+/*!
+       \enum alpha_function
+       \ingroup interface
+
+       Blending alpha function constants.
+*/
+
+
+/*!
+       \var alpha_function B_ALPHA_OVERLAY
+
+       Used for drawing a image with transparency over an opaque background.
+*/
+
+
+/*!
+       \var alpha_function B_ALPHA_COMPOSITE
+
+       Used to composite two or more transparent images together offscreen to
+       produce a new image drawn using \c B_ALPHA_OVERLAY mode.
+*/
diff --git a/docs/user/interface/InterfaceDefs.dox 
b/docs/user/interface/InterfaceDefs.dox
index 089203f..99f9d45 100644
--- a/docs/user/interface/InterfaceDefs.dox
+++ b/docs/user/interface/InterfaceDefs.dox
@@ -1,13 +1,13 @@
 /*
- * Copyright 2011 Haiku, Inc. All rights reserved.
+ * Copyright 2011-2013 Haiku, Inc. All rights reserved.
  * Distributed under the terms of the MIT License.
  *
  * Authors:
  *             John Scipione, jscipione@xxxxxxxxx
  *
  * Corresponds to:
- *             headers/os/interface/InterfaceDefs.h    rev 43230
- *             src/kits/interface/InterfaceDefs.cpp    rev 43230
+ *             headers/os/interface/InterfaceDefs.h    hrev45737
+ *             src/kits/interface/InterfaceDefs.cpp    hrev45737
  */
 
 
@@ -107,6 +107,85 @@
 */
 
 
+// Line join and cap modes
+
+
+/*!
+       \enum join_mode
+
+       PostScript-style line join modes used by BView::SetLineMode()
+*/
+
+
+/*!
+       \var join_mode B_ROUND_JOIN
+
+       Round join mode.
+*/
+
+
+/*!
+       \var join_mode B_MITER_JOIN
+
+       Miter join mode.
+*/
+
+
+/*!
+       \var join_mode B_BEVEL_JOIN
+
+       Bevel join mode.
+*/
+
+
+/*!
+       \var join_mode B_BUTT_JOIN
+
+       Butt join mode.
+*/
+
+/*!
+       \var join_mode B_SQUARE_JOIN
+
+       Square join mode.
+*/
+
+
+/*!
+       \enum cap_mode
+
+       PostScript-style line cap modes used by BView::SetLineMode()
+*/
+
+
+/*!
+       \var cap_mode B_ROUND_CAP
+
+       Round cap mode.
+*/
+
+
+/*!
+       \var cap_mode B_BUTT_CAP
+
+       Butt cap mode.
+*/
+
+
+/*!
+       \var cap_mode B_SQUARE_CAP
+
+       Square cap mode.
+*/
+
+
+/*!
+       \var B_DEFAULT_MITER_LIMIT
+
+       Default miter limit used to calculate the angle cut off for miter joins.
+*/
+
+
 ///// Keyboard related functions
 
 
diff --git a/docs/user/interface/View.dox b/docs/user/interface/View.dox
index c213b5f..651ecee 100644
--- a/docs/user/interface/View.dox
+++ b/docs/user/interface/View.dox
@@ -1,13 +1,13 @@
 /*
- * Copyright 2011 Haiku, Inc. All rights reserved.
+ * Copyright 2011-2013 Haiku, Inc. All rights reserved.
  * Distributed under the terms of the MIT License.
  *
  * Authors:
  *             John Scipione, jscipione@xxxxxxxxx
  *
  * Corresponds to:
- *             headers/os/interface/View.h      rev 42794
- *             src/kits/interface/View.cpp      rev 42794
+ *             headers/os/interface/View.h      hrev45737
+ *             src/kits/interface/View.cpp      hrev45737
  */
 
 
@@ -19,175 +19,3170 @@
 */
 
 
+// mouse buttons
+
+
+/*!
+       \var B_PRIMARY_MOUSE_BUTTON
+
+       Primary mouse button mask parameter.
+*/
+
+
+/*!
+       \var B_SECONDARY_MOUSE_BUTTON
+
+       Secondary mouse button mask parameter.
+*/
+
+
+/*!
+       \var B_TERTIARY_MOUSE_BUTTON
+
+       Tertiary mouse button mask parameter.
+*/
+
+
+// mouse transit
+
+
+/*!
+       \var B_ENTERED_VIEW
+
+       Mouse transit entered view.
+*/
+
+
+/*!
+       \var B_INSIDE_VIEW
+
+       Mouse transit inside view.
+*/
+
+
+/*!
+       \var B_EXITED_VIEW
+
+       Mouse transit exited view.
+*/
+
+
+/*!
+       \var B_OUTSIDE_VIEW
+
+       Mouse transit outside view.
+*/
+
+
+// event mask
+
+
+/*!
+       \var B_POINTER_EVENTS
+
+       Mouse pointer events mask parameter.
+*/
+
+
+/*!
+       \var B_KEYBOARD_EVENTS
+
+       Keyboard events mask parameter.
+*/
+
+
+// event mask options
+
+
+/*!
+       \var B_LOCK_WINDOW_FOCUS
+
+       Prevents the attached window from losing its focused state while the 
mouse is
+       held down.
+*/
+
+
+/*!
+       \var B_SUSPEND_VIEW_FOCUS
+
+       Events normally sent to the focus view are suppressed.
+*/
+
+
+/*!
+       \var B_NO_POINTER_HISTORY
+
+       Send only the most recent MouseMoved() event to the view.
+
+       \note New in Haiku: unless this flag is specified, both BWindow and
+             BView::GetMouse() will filter out older mouse moved messages.
+*/
+
+
+/*!
+       \var B_FULL_POINTER_HISTORY
+
+       Send all MouseMoved() events to the view.
+*/
+
+
+// event tracking
+
+
+/*!
+       \var B_TRACK_WHOLE_RECT
+
+       The whole rectangle moves with the cursor.
+*/
+
+
+/*!
+       \var B_TRACK_RECT_CORNER
+
+       The left top corner is fixed while the right and bottom edges move with 
the
+       cursor.
+*/
+
+
+// set font mask
+
+
+/*!
+       \var B_FONT_FAMILY_AND_STYLE
+
+       Font family and style mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_SIZE
+
+       Font size mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_SHEAR
+
+       Font shear mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_ROTATION
+
+       Font rotation mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_SPACING
+
+       Font spacing mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_ENCODING
+
+       Font encoding mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_FACE
+
+       Font face mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_FLAGS
+
+       Font flags mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_FALSE_BOLD_WIDTH
+
+       Font false bold width mask parameter.
+*/
+
+
+/*!
+       \var B_FONT_ALL
+
+       Font all properties mask parameter.
+*/
+
+
+// view flags
+
+
+/*!
+       \var B_FULL_UPDATE_ON_RESIZE
+
+       Redraw the entire view on resize.
+*/
+
+
+/*!
+       \var _B_RESERVED1_
+
+       Reserved for future use.
+*/
+
+
+/*!
+       \var B_WILL_DRAW
+
+       Indicates that the view will do it's own drawing.
+*/
+
+
+/*!
+       \var B_PULSE_NEEDED
+
+       Indicates that the view accepts Pulse() messages.
+*/
+
+
+/*!
+       \var B_NAVIGABLE_JUMP
+
+       Indicates this is the default keyboard navigation view.
+*/
+
+/*!
+       \var B_FRAME_EVENTS
+
+       View responds to frame move and resize events.
+*/
+
+
+/*!
+       \var B_NAVIGABLE
+
+       The view is able to receive focus for keyboard navigation.
+*/
+
+
+/*!
+       \var B_SUBPIXEL_PRECISE
+
+       The view draws with sub-pixel precision.
+*/
+
+
+/*!
+       \var B_DRAW_ON_CHILDREN
+
+       Indicates that the view responds to the DrawAfterChildren() hook method.
+*/
+
+
+/*!
+       \var B_INPUT_METHOD_AWARE
+
+       ??
+*/
+
+
+/*!
+       \var _B_RESERVED7_
+
+       Reserved for future use.
+*/
+
+
+/*!
+       \var B_SUPPORTS_LAYOUT
+
+       The view supports the layout APIs, i.e. it doesn't require an explicit 
frame
+       rectangle to be specified.
+*/
+
+
+/*!
+       \var B_INVALIDATE_AFTER_LAYOUT
+
+       Indicates that the view should be redraw after being added to a layout.
+*/
+
+
+// resize mask variables, internal variables but are in a public header.
+
+
+/*!
+       \var _RESIZE_MASK_
+
+       Resize mask. Do not use.
+*/
+
+
+/*!
+       \var _VIEW_TOP_
+
+       View top mask variable. Do not use.
+*/
+
+
+/*!
+       \var _VIEW_LEFT_
+
+       View left mask variable. Do not use.
+*/
+
+
+/*!
+       \var _VIEW_BOTTOM_
+
+       View bottom mask variable. Do not use.
+*/
+
+
+/*!
+       \var _VIEW_RIGHT_
+
+       View right mask variable. Do not use.
+*/
+
+
+/*!
+       \var _VIEW_CENTER_
+
+       View center mask variable. Do not use.
+*/
+
+
+/*!
+       \fn inline uint32 _rule_(uint32 r1, uint32 r2, uint32 r3, uint32 r4)
+       \brief Internal function, do not use.
+*/
+
+
+// resize mask
+
+
+/*!
+       \var B_FOLLOW_NONE
+
+       Follow none resize mask parameter. Equivalent to <tt>B_FOLLOW_LEFT
+       | B_FOLLOW_TOP</tt>. The view maintains its position in its parent's
+       coordinate system but not in the screen coordinate system.
+*/
+
+
+/*!
+       \var B_FOLLOW_ALL_SIDES
+
+       Follow all sides resize mask parameter. Equivalent to 
<tt>B_FOLLOW_LEFT_RIGHT |
+       B_FOLLOW_TOP_BOTTOM</tt>. The view will be resized with its parent view 
both
+       horizontally and vertically.
+*/
+
+
+/*!
+       \var B_FOLLOW_ALL
+
+       Equivalent to \c B_FOLLOW_ALL_SIDES.
+*/
+
+
+// horizontal resize mask
+
+
+/*!
+       \var B_FOLLOW_LEFT
+
+       The margin between the left side of the view and the left side of the 
parent
+       remains constant.
+*/
+
+
+/*!
+       \var B_FOLLOW_RIGHT
+
+       The margin between the right side of the view and the right side of the 
parent
+       remains constant.
+*/
+
+
+/*!
+       \var B_FOLLOW_LEFT_RIGHT
+
+       The margin between the left and right sides of the view and the left 
and right
+       sides of the parent both remain constant.
+*/
+
+
+/*!
+       \var B_FOLLOW_H_CENTER
+
+       The view maintains a constant relationship to the horizontal center of 
the
+       parent view.
+*/
+
+
+// vertical resize mask
+
+
+/*!
+       \var B_FOLLOW_TOP
+
+       The margin between the top of the view and the top of the parent remains
+       constant.
+*/
+
+
+/*!
+       \var B_FOLLOW_BOTTOM
+
+       The margin between the bottom of the view and the bottom of the parent 
remains
+       constant.
+*/
+
+
+/*!
+       \var B_FOLLOW_TOP_BOTTOM
+
+       The margin between the top and bottom sides of the view and the top and 
bottom
+       sides of the parent both remain constant.
+*/
+
+
+/*!
+       \var B_FOLLOW_V_CENTER
+
+       The view maintains a constant relationship to the vertical center of the
+       parent view.
+*/
+
+
+/*!
+       \class BView
+       \ingroup interface
+       \ingroup libbe
+       \brief View base class.
+*/
+
+
+/*!
+       \fn BView::BView(const char* name, uint32 flags, BLayout* layout)
+       \brief Layout constructor.
+
+       \param name The name of the view.
+       \param flags The view flags.
+       \param layout A \a layout to set the view to.
+*/
+
+
+/*!
+       \fn BView::BView(BRect frame, const char* name, uint32 resizingMode,
+               uint32 flags)
+       \brief Standard constructor.
+
+       \param frame The \a frame rectangle of the view.
+       \param name The name of the view.
+       \param resizingMode The resizing mode flags.
+       \param flags The view flags.
+*/
+
+
+/*!
+       \fn BView::BView(BMessage* archive)
+       \brief Archive constructor.
+
+       \param archive The data message to construct the view from.
+*/
+
+
+/*!
+       \fn BView::~BView()
+       \brief Destructor method.
+
+       Deletes the view and all children freeing any memory used.
+*/
+
+
+/*!
+       \name Archiving
+*/
+
+
+//! @{
+
+
+/*!
+       \fn BArchivable* BView::Instantiate(BMessage* data)
+       \brief Creates a new BView object from the \a data message.
+
+       \returns A newly created BView object or \c NULL if the message doesn't
+               contain an archived BView object.
+*/
+
+
+/*!
+       \fn status_t BView::Archive(BMessage* data, bool deep) const
+       \brief Archives the object into the \a data message.
+
+       \param data A pointer to the BMessage object to archive the object into.
+       \param deep Whether or not to archive child views as well.
+
+       \return A status code, \c B_OK if everything went well or an error code
+               otherwise.
+       \retval B_OK The object was archived successfully.
+       \retval B_NO_MEMORY Ran out of memory while archiving the object.
+*/
+
+
+//! @}
+
+
+/*!
+       \name Hook Methods
+*/
+
+
+//! @{
+
+
+/*!
+       \fn status_t BView::AllUnarchived(const BMessage* from)
+       \brief Hook method called when all views have been unarchived.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn status_t BView::AllArchived(BMessage* into) const
+       \brief Hook method called when all views have been archived.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::AttachedToWindow()
+       \brief Hook method that is called when the object is attached to a
+               window.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::AllAttached()
+       \brief Similar to AttachedToWindow() but this method is triggered after
+               all child views have already been attached to a window.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::DetachedFromWindow()
+       \brief Hook method that is called when the object is detached from a
+               window.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::AllDetached()
+       \brief Similar to AttachedToWindow() but this method is triggered after
+               all child views have already been detached from a window.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::Draw(BRect updateRect)
+       \brief Draws the area of the view that intersects \a updateRect.
+
+       Derived classes should override this method to draw their view.
+
+       \remark This is an hook method called by the Interface Kit, you don't 
have to
+               call it yourself. If you need to forcefully redraw the view 
consider
+               calling Invalidate() instead.
+
+       \param updateRect The rectangular area to be drawn.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::DrawAfterChildren(BRect r)
+       \brief Perform any drawing that needs to be done after child view have
+               already been drawn.
+
+       \param r The rectangular area to be drawn.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::FrameMoved(BPoint newPosition)
+       \brief Hook method that gets called when the view is moved.
+
+       \param newPosition The point of the top left corner of the frame
+               that the view has been moved to.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::FrameResized(float newWidth, float newHeight)
+       \brief Hook method that gets called when the view is resized.
+
+       \param newWidth The new \a width of the view.
+       \param newHeight The new \a height of the view.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::KeyDown(const char* bytes, int32 numBytes)
+       \brief Hook method that is called when a keyboard key is pressed.
+
+       \param bytes The bytes of the key combination pressed.
+       \param numBytes The number of bytes in \a bytes.
+
+       The default implementation sets keyboard navigation focus.
+*/
+
+
+/*!
+       \fn void BView::KeyUp(const char* bytes, int32 numBytes)
+       \brief Hook method that is called when a keyboard key is released.
+
+       \param bytes The bytes of the key combination pressed.
+       \param numBytes The number of bytes in \a bytes.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::MessageReceived(BMessage* msg)
+       \brief Handle \a message received by the associated looper.
+
+       \param msg The message received by the associated looper.
+
+       \see BHandler::MessageReceived()
+*/
+
+
+/*!
+       \fn void BView::MouseDown(BPoint where)
+       \brief Hook method that is called when a mouse button is pressed.
+
+       \param where The point on the screen where to mouse pointer is when
+               the mouse button is pressed.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::MouseUp(BPoint where)
+       \brief Hook method that is called when a mouse button is released.
+
+       \param where The point on the screen where to mouse pointer is when
+               the mouse button is released.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::MouseMoved(BPoint where, uint32 code,
+               const BMessage* a_message)
+       \brief Hook method that is called when the mouse is moved.
+
+       The default implementation does nothing.
+*/
+
+
+/*!
+       \fn void BView::Pulse()
+       \brief Hook method that gets called when the view receives a \c B_PULSE
+              message.
+
+       An action is performed each time the App Server calls the Pulse() 
method. 
+       The pulse rate is set by SetPulseRate(). You can implement Pulse() to do
+       anything you want. The default version does nothing. The pulse 
granularity
+       is no better than once per 100,000 microseconds.
+
+       The default implementation does nothing.
+
+       \sa SetPulseRate()
+*/
+
+
+/*!
+       \fn void BView::TargetedByScrollView(BScrollView* scrollView)
+       \brief Hook method called when the view becomes the target of
+              \a scrollView.
+
+       The default implementation does nothing.
+
+       \param scrollView The BScrollView object that has targeted the view.
+*/
+
+
+/*!
+       \fn void BView::WindowActivated(bool state)
+       \brief Hook method called when the attached window becomes activated or
+              deactivated.
+
+       The default implementation does nothing.
+
+       \param state \c true if the window becomes activated, \c false if the
+               window becomes deactivated.
+*/
+
+
+//! @}
+
+
+/*!
+       \fn BRect BView::Bounds() const
+       \brief Returns the view frame rectangle in the view's coordinate system.
+
+       \return The bounding rectangle of the view.
+*/
+
+
+/*!
+       \fn BRect BView::Frame() const
+       \brief Returns the frame rectangle of the view in the parent's 
coordinate system.
+
+       \returns The view's frame rectangle.
+*/
+
+
+/*!
+       \name Coordinate Conversion Methods
+*/
+
+
+//! @{
+
+
+/*!
+       \fn void BView::ConvertToParent(BPoint* pt) const
+       \brief Convert \a pt to the parent's coordinate system in place.
+
+       \param pt A pointer to a BPoint object to convert.
+*/
+
+
+/*!
+       \fn BPoint BView::ConvertToParent(BPoint pt) const
+       \brief Returns \a pt converted to the parent's coordinate system.
+
+       \param pt A BPoint object to convert.
+
+       \return A new BPoint object in the parent's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::ConvertFromParent(BPoint* pt) const
+       \brief Convert \a pt from the parent's coordinate system to the
+                  view's coordinate system in place.
+
+       \param pt A pointer to a BPoint object to convert.
+*/
+
+
+/*!
+       \fn BPoint BView::ConvertFromParent(BPoint pt) const
+       \brief Returns \a pt converted from the parent's coordinate system to 
the
+                  view's coordinate system.
+
+       \param pt A BPoint object to convert.
+
+       \return A new BPoint object in the view's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::ConvertToParent(BRect* r) const
+       \brief Convert \a r to the parent's coordinate system in place.
+
+       \param r A pointer to a BRect object to convert.
+*/
+
+
+/*!
+       \fn BRect BView::ConvertToParent(BRect r) const
+       \brief Returns \a r converted to the parent's coordinate system.
+
+       \param r A BRect object to convert.
+
+       \return A new BRect object in the parent's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::ConvertFromParent(BRect* r) const
+       \brief Convert \a r from the parent's coordinate system to the
+                  view's coordinate system in place.
+
+       \param r A pointer to a BRect object to convert.
+*/
+
+
+/*!
+       \fn BRect BView::ConvertFromParent(BRect r) const
+       \brief Returns \a r converted from the parent's coordinate system to the
+                  view's coordinate system.
+
+       \param r A BRect object to convert.
+
+       \return A new BRect object in the view's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::ConvertToScreen(BPoint* pt) const
+       \brief Convert \a pt to the screen's coordinate system in place.
+
+       \param pt A pointer to a BPoint object to convert.
+*/
+
+
+/*!
+       \fn BPoint BView::ConvertToScreen(BPoint pt) const
+       \brief Returns \a pt converted to the screen's coordinate system.
+
+       \param pt A BPoint object to convert.
+
+       \return A new BPoint object in the screen's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::ConvertFromScreen(BPoint* pt) const
+       \brief Convert \a pt from the screen's coordinate system to the
+                  view's coordinate system in place.
+
+       \param pt A pointer to a BPoint object to convert.
+*/
+
+
+/*!
+       \fn BPoint BView::ConvertFromScreen(BPoint pt) const
+       \brief Returns \a pt converted from the screen's coordinate system to 
the
+                  view's coordinate system.
+
+       \param pt A BPoint object to convert.
+
+       \return A new BPoint object in the view's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::ConvertToScreen(BRect* r) const
+       \brief Convert \a r to the screen's coordinate system in place.
+
+       \param r A pointer to a BRect object to convert.
+*/
+
+
+/*!
+       \fn BRect BView::ConvertToScreen(BRect r) const
+       \brief Returns \a r converted to the screen's coordinate system.
+
+       \param r A BRect object to convert.
+
+       \return A new BRect object in the screen's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::ConvertFromScreen(BRect* r) const
+       \brief Convert \a r from the screen's coordinate system to the
+                  view's coordinate system in place.
+
+       \param r A pointer to a BRect object to convert.
+*/
+
+
+/*!
+       \fn BRect BView::ConvertFromScreen(BRect r) const
+       \brief Returns \a r converted from the screen's coordinate system to the
+                  view's coordinate system.
+
+       \param r A BRect object to convert.
+
+       \return A new BRect object in the view's coordinate system.
+*/
+
+
+//! @}
+
+
+/*!
+       \fn uint32 BView::Flags() const
+       \brief Return the view flags set in the constructor or by SetFlags().
+
+       \return The view flags as a uint32 mask.
+*/
+
+
+/*!
+       \fn void BView::SetFlags(uint32 flags)
+       \brief Sets the view flags to the \a flags mask.
+
+       \param flags The view flags to set as a uint32 mask.
+*/
+
+
+//! @}
+
+
+/*!
+       \fn void BView::Hide()
+       \brief Hides the view without removing it from the view hierarchy.
+
+       Calls to Hide() and Show() are cumulative. A visible view becomes hidden
+       once the number of Hide() calls exceeds the number of Show() calls.
+
+       \see BWindow::Hide()
+       \see IsHidden()
+*/
+
+
+/*!
+       \fn void BView::Show()
+       \brief Shows the view making it visible.
+
+       Calls to Hide() and Show() are cumulative. A hidden view becomes visible
+       again once the number of Show() calls matches the number of Hide() 
calls.
+
+       \see BWindow::Show()
+       \see IsHidden()
+*/
+
+
+/*!
+       \fn bool BView::IsFocus() const
+       \brief Returns whether or not the view is the window's current focus 
view.
+
+       The focus view changes as the user moves from one view to another either
+       by pushing the tab key or by clicking a new view with the mouse. The 
change
+       can be made programmatically via the MakeFocus() method.
+
+       \returns \c true if the view is the current focus view, \c false 
otherwise.
+
+       \see MakeFocus()
+       \see BWindow::CurrentFocus()
+*/
+
+
+/*!
+       \fn bool BView::IsHidden(const BView* lookingFrom) const
+       \brief Returns whether or not the view is hidden from the perspective of
+              \a lookingFrom.
+
+       A view is considered hidden if it, any of it's parent views, or the 
window
+       it is attached to has had the Hide() method called on it. This method
+       allows you to determine the hidden status of a view from a different 
point
+       on the view hierarchy.
+
+       \param lookingFrom The view used as a base when determining the hidden
+              status of the BView object.
+
+       \return \c true if the view was hidden via the Hide() method, \c false
+               otherwise.
+*/
+
+
+/*!
+       \fn bool BView::IsHidden() const
+       \brief Returns whether or not the view is hidden.
+
+       A view can be hidden either by calling Hide() on the view, calling 
Hide()
+       on a parent view or calling Hide() on the window that the view is 
attached
+       to. When a BWindow or BView is hidden, all its descendants are also 
hidden.
+
+       This method only returns whether the view or an ancestor view has had 
the
+       Hide() method called on it, it doesn't consider if the view is obscured
+       by another view or is off-screen. A BView is not hidden by default.
+
+       \return \c true if the view was hidden via the Hide() method, \c false
+               otherwise.
+*/
+
+
+/*!
+       \fn bool BView::IsPrinting() const
+       \brief Returns whether or not the BView object is drawing to a printer.
+
+       This method should only be called from the Draw() or DrawAfterChildren()
+       methods. If called from any other method this method returns \c false.
+
+       The view may choose different fonts, images, or colors when drawing to a
+       printer vs. when drawing to the screen.
+
+       \return Returns \c true if drawing to a printer, \c false otherwise.
+*/
+
+
+/*!
+       \fn BPoint BView::LeftTop() const
+       \brief Returns the left top corner point.
+
+       \return The left top corner of the view as a BPoint object.
+*/
+
+
+/*!
+       \name Resizing mode methods
+*/
+
+
+//! @{
+
+
+/*!
+       \fn void BView::SetResizingMode(uint32 mode)
+       \brief Sets the resizing mode of the view according to the \a mode mask.
+
+       The resizing mode is first set in the BView constructor.
+
+       \see SetFlags()
+*/
+
+
+/*!
+       \fn uint32 BView::ResizingMode() const
+       \brief Returns the resizing mode flags mask set in the constructor or by
+              SetResizingMode().
+
+       \returns the current resizing mode flags as a uint32 mask.
+*/
+
+
+//! @}
+
+
+/*!
+       \fn void BView::SetViewCursor(const BCursor* cursor, bool sync)
+       \brief Assigns \a cursor to the view.
+
+       This cursor will be displayed when the mouse is positioned inside the 
view.
+
+       \param cursor The BCursor object to assign to the view.
+       \param sync If \c true App Server is synchronized immediately forcing 
the
+              change to occur. If \c false, the change will be put in the 
queue and
+              will take effect when the pending requests are processed. 
+*/
+
+
+/*!
+       \fn void BView::Flush() const
+       \brief Flushes the attached window's connection to App Server.
+
+       If the view isn't attached to a window, Flush() does nothing.
+*/
+
+
+/*!
+       \fn void BView::Sync() const
+       \brief Synchronizes the attached window's connection to App Server.
+
+       \warning If the view isn't attached to a window, Sync() might crash the
+                application.
+*/
+
+
+/*!
+       \fn BWindow* BView::Window() const
+       \brief Returns the window the view is attached to.
+
+       \return The window the view is attached to or \c NULL if the view isn't
+       attached to a window.
+*/
+
+
+/*!
+       \fn void BView::GetPreferredSize(float* _width, float* _height)
+       \brief Fill out the preferred width and height of the view
+               into the \a _width and \a _height parameters.
+
+       Derived classes should override this method to set the preferred
+       size of object.
+
+       \remark Either the \a _width or \a _height parameter may be set to \c 
NULL
+                   if you only want to get the other one.
+
+       \param[out] _width Pointer to a \c float to store the width of the view.
+       \param[out] _height Pointer to a \c float to store the height of the 
view.
+*/
+
+
+/*!
+       \fn void BView::ResizeToPreferred()
+       \brief Resizes the view to its preferred size keeping the left top 
corner
+              constant.
+*/
+
+
+/*!
+       \name Input Related Methods
+*/
+
+
+//! @{
+
+
+/*!
+       \fn void BView::BeginRectTracking(BRect startRect, uint32 style)
+       \brief Displays an outline rectangle on the view and initiates tracking.
+
+       This method is typically called from the MouseDown() while 
EndRectTracking()
+       is typically called from the MouseUp method().
+
+       \param startRect The initial frame in the view's coordinate system.
+       \param style This parameter is set to one of the following:
+       - \c B_TRACK_WHOLE_RECT The position of the rect changes with the 
cursor while
+            its size remains the same.
+       - \c B_TRACK_RECT_CORNER The left top corner is fixed while the right 
and
+            bottom edges move with the cursor.
+*/
+
+
+/*!
+       \fn void BView::EndRectTracking()
+       \brief Ends tracking removing the outline rectangle from the view.
+
+       BeginRectTracking() is typically called from the MouseDown() while this 
method
+       is typically called from the MouseUp() method.
+*/
+
+
+/*!
+       \fn void BView::DragMessage(BMessage* message, BRect dragRect,
+               BHandler* replyTo)
+       \brief Initiates a drag-and-drop session.
+
+       This method only works if the BView objects are attached to a window.
+
+       \param message Contains data to be dragged and dropped on the 
destination
+              view. The caller retains responsibility for this object.
+       \param dragRect An outline rectangle used in place of a bitmap image 
set in
+              the view's coordinate system.
+       \param replyTo The target set to handle the message sent in reply to the
+              dragged message. If \c NULL the reply is instead directed to the 
BView
+                  object that initiated the drag-and-drop session.
+*/
+
+
+/*!
+       \fn void BView::DragMessage(BMessage* message, BBitmap* image,
+               BPoint offset, BHandler* replyTo)
+       \brief Initiates a drag-and-drop session of an \a image.
+
+       This method only works if the BView objects are attached to a window.
+
+       \param message Contains data to be dragged and dropped on the 
destination
+              view. The caller retains responsibility for this object.
+       \param image Bitmap image dragged by the user. The memory used by the 
bitmap
+              is freed automatically when the message is dropped.
+       \param offset The offset to the hotspot within the image in the bitmap's
+              coordinate system.
+       \param replyTo The target set to handle the message sent in reply to the
+              dragged message. If \c NULL the reply is instead directed to the 
BView
+                  object that initiated the drag-and-drop session.
+*/
+
+
+/*!
+       \fn void BView::DragMessage(BMessage* message, BBitmap* image,
+               drawing_mode dragMode, BPoint offset, BHandler* replyTo)
+       \brief Initiates a drag-and-drop session of an \a image with 
drawing_mode
+              set by \a dragMode.
+
+       This method only works if the BView objects are attached to a window.
+
+       \param message Contains data to be dragged and dropped on the 
destination
+              view. The caller retains responsibility for this object.
+       \param image Bitmap image dragged by the user. The memory used by the 
bitmap
+              is freed automatically when the message is dropped.
+       \param dragMode Sets the drawing_mode used to draw the dragged image. 
Set to
+              \c B_OP_ALPHA to drag-and-drop partially transparent images.
+       \param offset The offset to the hotspot within the image in the bitmap's
+              coordinate system.
+       \param replyTo The target set to handle the message sent in reply to the
+              dragged message. If \c NULL the reply is instead directed to the 
BView
+                  object that initiated the drag-and-drop session.
+*/
+
+
+/*!
+       \fn void BView::GetMouse(BPoint* _location, uint32* _buttons,
+               bool checkMessageQueue)
+       \brief Fills out the cursor location and the current state of the mouse
+              buttons.
+
+       The cursor doesn't have to be located within the view for this method 
to work,
+       however, the view must be attached to a window. Don't use this method 
to track
+       the mouse in your derived view, implement MouseMoved() instead.
+
+       \param[out] _location Filled out with the cursor location in the view's
+                   coordinate system.
+       \param[out] _buttons Filled out with a mask of the following values:
+                   - \c B_PRIMARY_MOUSE_BUTTON
+                   - \c B_SECONDARY_MOUSE_BUTTON
+                   - \c B_TERTIARY_MOUSE_BUTTON
+       \param checkMessageQueue If \c true pull from any pending MouseMoved() 
or
+              MouseUp() events in the message queue top down before filling 
out the
+                  current mouse cursor state.
+*/
+
+
+/*!
+       \fn void BView::MakeFocus(bool focusState)
+       \brief Makes the view the current focus view of the window or gives up
+              being the focus view of the window.
+
+       The focus view handles selections and KeyDown events when the the 
attached
+       window is active. There can be only one focus view at a time per window.
+
+       When called with \a focusState set to \c true this method first calls
+       MakeFocus() on the previously focused view with \a focusState set to
+       \c false.
+
+       The focus doesn't automatically change when MouseDown is called so 
calling
+       MakeFocus() is the only way to make a view the focus view of a window.
+       Classes derived from BView that can display the current selection, or 
that
+       can accept pasted data should call MakeFocus() in their MouseDown() 
method
+       to update the focus view of the window on click.
+
+       If the view isn't attached to a window this method has no effect.
+
+       \param focusState \a true to set focus, \a false to remove it.
+*/
+
+
+/*!
+       \fn BScrollBar* BView::ScrollBar(orientation posture) const
+       \brief Returns the BScrollBar object that has the BView set as its 
target.
+
+       \param posture Either \c B_VERTICAL to get the vertical scroll bar or
+              \c B_HORIZONTAL to get the horizontal scroll bar.
+
+       \returns the Scrollbar object requested or \c NULL if none found.
+
+       \see BScrollBar::SetTarget()
+*/
+
+
+/*!
+       \fn void BView::ScrollBy(float deltaX, float deltaY)
+       \brief Scroll the view by \a deltaX horizontally and \a deltaY 
vertically.
+
+       \param deltaX The amount to scroll horizontally.
+       \param deltaY The amount to scroll vertically.
+*/
+
+
+/*!
+       \fn void BView::ScrollTo(BPoint where)
+       \brief Scroll the view to the point specified by \a where.
+
+       \param where The location to scroll the view to.
+*/
+
+
+/*!
+       \fn status_t BView::SetEventMask(uint32 mask, uint32 options)
+       \brief Sets whether or not the view can accept mouse and keyboard
+              events when not in focus.
+
+       If \a mask includes \c B_POINTER_EVENTS then the view will receive mouse
+       events even when the mouse isn't over the view and if it includes
+       \c B_KEYBOARD_EVENTS the view will receive keyboard events even if it
+       isn't in focus.
+
+       The \a options mask options are as follows:
+       - \c B_NO_POINTER_HISTORY Tells App Server to only send the most recent
+            MouseMoved() event to the view sacrificing some granularity.
+    - \c B_FULL_POINTER_HISTORY Tells App Server to send all MouseMoved()
+            events to the view.
+
+       \param mask The \a mask of \c B_POINTER_EVENTS and \c B_KEYBOARD_EVENTS
+              to set.
+       \param options Sets other event-handling options.
+
+       \return \c B_OK if everything went fine or an error code, usually
+               \c B_ERROR if something went wrong.
+*/
+
+
+/*!
+       \fn uint32 BView::EventMask()
+       \brief Returns the current event mask.
+
+       \return The current event mask as a uint32.
+*/
+
+
+/*!
+       \fn status_t BView::SetMouseEventMask(uint32 mask, uint32 options)
+       \brief Sets whether or not the view can accept mouse and keyboard
+              events when not in focus from within MouseDown() until the
+              following MouseUp() event.
+
+       The \a options mask options are as follows:
+       - \c B_NO_POINTER_HISTORY Tells App Server to send only the most recent
+            MouseMoved() event to the view sacrificing mouse movement 
granularity.
+    - \c B_FULL_POINTER_HISTORY Tells App Server to send all MouseMoved()
+            events to the view.
+       - \c B_SUSPEND_VIEW_FOCUS Events normally sent to the focus view are
+            suppressed. While the mouse is held down, the keyboard is ignored.
+            The view receiving the MouseDown() messages doesn't have to be the
+            focus view to suppress focused messages.
+       - \c B_LOCK_WINDOW_FOCUS Prevents the attached window from losing its
+            focused state while the mouse is held down, even if the mouse 
leaves
+            the bounds of the window.
+
+       \param mask The \a mask of \c B_POINTER_EVENTS and \c B_KEYBOARD_EVENTS
+              to set.
+       \param options Sets other event-handling options.
+
+       \return \c B_OK if everything went fine or an error code, usually
+               \c B_ERROR if something went wrong.
+*/
+
+
+//! @}
+
+
+/*!
+       \name Graphics State Methods
+*/
+
+
+//! @{
+
+
+/*!
+       \fn void BView::PushState()
+       \brief Saves the drawing state to the stack.
+
+       The drawing state contains the following elements:
+       - local and global origins
+       - local and global scales
+       - local and global clipping regions
+       - the current drawing mode
+       - pen size and location
+       - the font context
+       - foreground and background color
+       - line cap and join modes
+       - miter limit
+       - stipple pattern
+
+       A new state context is created after PushState() is called with a local 
scale
+       at 0, a local origin at (0, 0), and no clipping region.
+*/
+
+
+/*!
+       \fn void BView::PopState()
+       \brief Restores the drawing state from the stack.
+*/
+
+
+/*!
+       \fn void BView::SetOrigin(BPoint pt)
+       \brief Sets the origin in the view's coordinate system.
+
+       \param pt The point to set the origin to.
+*/
+
+
+/*!
+       \fn void BView::SetOrigin(float x, float y)
+       \brief Sets the origin in the view's coordinate system.
+
+       \param x The x-coordinate to set the origin to.
+       \param y The y-coordinate to set the origin to.
+*/
+
+
+/*!
+       \fn BPoint BView::Origin() const
+       \brief Returns the origin point in the view's coordinate system.
+
+       \return The local origin point in the view's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::SetScale(float scale) const
+       \brief Sets the scale of the coordinate system the view uses for 
drawing.
+
+       The default scale is 1.0. A \a scale value lower than 1.0 reduces the 
size of
+       the drawing coordinate system, a \a scale value greater than 1.0 
magnifies
+       the coordinate system; for example, a \a scale value of 0.5 cuts the 
drawing
+       drawing area in half moving the drawing closer to the origin while a \a 
scale
+       value of 2.0 doubles the drawing area and moving it away from the 
origin.
+
+       Updating the \a scale of view won't update previously drawn elements.
+
+       SetScale() calls are not commutative unless you call them across 
different
+       drawing states as the following:
+
+\code
+       view->SetScale(2);
+       view->SetScale(2);
+       // view's scale is 2
+
+       view2->SetScale(2);
+       view2->PushState();
+       view2->SetScale(2);
+       // view2's scale is 4
+\endcode
+
+       /param scale The scale factor to set.
+*/
+
+
+/*!
+       \fn float BView::Scale() const
+       \brief Return the current drawing scale.
+
+       \return The current drawing scale.
+*/
+
+
+/*!
+       \fn void BView::SetLineMode(cap_mode lineCap, join_mode lineJoin,
+               float miterLimit)
+       \brief Set line mode to use PostScript-style line cap and join modes.
+
+       \a lineCap determines the shape of the endpoints of stroked paths while
+       \a lineJoin determines the shape of the corners where two lines meet.
+
+       The default miter limit is 10.0 which gives an angle of 11.478341°.
+
+       \param lineCap One of the following:
+       - \c B_ROUND_CAP A semicircle with diameter of line width is drawn at 
the
+            endpoint.
+       - \c B_BUTT_CAP A straight edge is drawn without extending beyond the 
endpoint.
+       - \c B_SQUARE_CAP A straight edge is drawn extending past the endpoint 
by half
+            the line width.
+       \param lineJoin One of the following:
+       - \c B_ROUND_JOIN Same as \c B_ROUND_CAP but for a join.
+       - \c B_MITER_JOIN The lines are extended until they meet. If angle that 
they
+            meet at is greater than the 2*arcsin(1/\a miterLimit) than a bevel 
join
+                is used instead.
+       - \c B_BEVEL_JOIN The area between the caps is filled with a triangle.
+       - \c B_BUTT_JOIN Same as \c B_BUTT_CAP but for a join.
+       - \c B_SQUARE_JOIN Same as \c B_SQUARE_CAP but for a join.
+       \param miterLimit Sets the cut off angle before a miter join becomes a 
bevel
+              join calculated by 2*arcsin(1/\a miterLimit).
+*/
+
+
+/*!
+       \fn join_mode BView::LineJoinMode() const
+       \brief Returns the current line join mode.
+
+       \return The current line join mode set to the view.
+*/
+
+
+/*!
+       \fn cap_mode BView::LineCapMode() const
+       \brief Returns the current line cap mode.
+
+       \return The current line cap mode set to the view.
+*/
+
+
+/*!
+       \fn float BView::LineMiterLimit() const
+       \brief Returns the miter limit used for \c B_MITER_JOIN join mode.
+
+       \return The current miter limit set to the view.
+*/
+
+
+/*!
+       \fn void BView::SetDrawingMode(drawing_mode mode)
+       \brief Sets the drawing mode of the view.
+
+       The default drawing mode is \c B_OP_COPY.
+
+       \param mode Set to one of the following:
+       - \c B_OP_COPY
+       - \c B_OP_OVER
+       - \c B_OP_ERASE
+       - \c B_OP_INVERT
+       - \c B_OP_SELECT
+       - \c B_OP_ALPHA
+       - \c B_OP_MIN
+       - \c B_OP_MAX
+       - \c B_OP_ADD
+       - \c B_OP_SUBTRACT
+       - \c B_OP_BLEND
+*/
+
+
+/*!
+       \fn drawing_mode BView::DrawingMode() const
+       \brief Return the current drawing_mode.
+
+       \return The current drawing_mode.
+*/
+
+
+/*!
+       \fn void BView::SetBlendingMode(source_alpha srcAlpha,
+               alpha_function alphaFunc)
+       \brief Set the blending mode which controls how transparency is used.
+
+       \param srcAlpha Set to one of the following:
+       - \c B_CONSTANT_ALPHA Use the high color's alpha channel.
+       - \c B_PIXEL_ALPHA Use the alpha value of each pixel when drawing a 
bitmap.
+       \param alphaFunc Set to one of the following:
+       - \c B_ALPHA_OVERLAY Used for drawing a image with transparency over an 
opaque
+            background.
+       - \c B_ALPHA_COMPOSITE Used to composite two or more transparent images
+            together offscreen to produce a new image drawn using
+                \c B_ALPHA_OVERLAY mode.
+*/
+
+
+/*!
+       \fn void BView::GetBlendingMode(source_alpha* srcAlpha,
+               alpha_function* alphaFunc) const
+       \brief Fill out \a srcAlpha and \a alphaFunc with the alpha mode and
+              alpha function of the view.
+
+       \param[out] srcAlpha The alpha mode to fill out.
+       \param[out] alphaFunc The alpha function to fill out.
+*/
+
+
+/*!
+       \fn void BView::MovePenTo(BPoint point)
+       \brief Move the pen to \a point in the view's coordinate system.
+
+       \param point the location to move the pen to.
+*/
+
+
+/*!
+       \fn void BView::MovePenTo(float x, float y)
+       \brief Move the pen to the point specified by \a x and \a y in the 
view's
+              coordinate system.
+
+       \param x The horizontal coordinate to move the pen to.
+       \param y The vertical coordinate to move the pen to.
+*/
+
+
+/*!
+       \fn void BView::MovePenBy(float x, float y)
+       \brief Move the pen by \a x pixels horizontally and \a y pixels 
vertically.
+
+       \param x The number of pixels to move the pen horizontally.
+       \param y The number of pixels to move the pen vertically.
+*/
+
+
+/*!
+       \fn BPoint BView::PenLocation() const
+       \brief Return the current pen location as a BPoint object.
+
+       \return The current pen location in the view's coordinate system.
+*/
+
+
+/*!
+       \fn void BView::SetPenSize(float size)
+       \brief Set the pen size to \a size.
+
+       \param size The pen size to set.
+*/
+
+
+/*!
+       \fn float BView::PenSize() const
+       \brief Return the current pen size.
+
+       \return The current pen size as a float.
+*/
+
+
+/*!
+
+       \fn void BView::SetHighColor(rgb_color color)
+       \brief Set the high color of the view.
+
+       \param color The color to set.
+*/
+
+
+/*!
+       \fn rgb_color BView::HighColor() const
+       \brief Return the current high color.
+
+       \return The current high color as an rgb_color struct.
+*/
+
+
+/*!
+       \fn void BView::SetLowColor(rgb_color color)
+       \brief Set the low color of the view.
+
+       \param color The color to set.
+*/
+
+
+/*!
+       \fn rgb_color BView::LowColor() const
+       \brief Return the current low color.
+
+       \return The current low color as an rgb_color struct.
+*/
+
+
+/*!
+       \fn void BView::SetViewColor(rgb_color color)
+       \brief Set the view color of the view.
+
+       \param color The color to set.
+*/
+
+
+/*!
+       \fn rgb_color BView::ViewColor() const
+       \brief Return the current view color.
+
+       \return The current view color as an rgb_color struct.
+*/
+
+
+/*!
+       \fn void BView::ForceFontAliasing(bool enable)
+       \brief Turn anti-aliasing on and off when printing.
+
+       Typically want to turn font anti-aliasing off when printing by passing
+       \c true to this method and then turn it on again by passing in \c false.
+
+       This method does not affect characters drawn to the screen.
+
+       \param enable If \c true turn off anti-aliasing, if \c false turn on
+              anti-aliasing.
+*/
+
+
+/*!
+       \fn void BView::SetFont(const BFont* font, uint32 mask)
+       \brief Set the font of the view.
+
+       By passing \c B_FONT_ALL to the \a mask parameter as is the default all 
font
+       properties from \a font are set on the view.
+
+       \param font A pointer to a BFont object to set.
+       \param mask A mask of the following values to determine what font 
properties to set:
+       - \c B_FONT_FAMILY_AND_STYLE
+       - \c B_FONT_SPACING
+       - \c B_FONT_SIZE
+       - \c B_FONT_ENCODING
+       - \c B_FONT_SHEAR
+       - \c B_FONT_FACE
+       - \c B_FONT_ROTATION
+       - \c B_FONT_FLAGS
+*/
+
+
+/*!
+       \fn void BView::GetFont(BFont* font) const
+       \brief Fill out \a font with the font set to the view.
+
+       \param[out] font The BFont object to fill out.
+*/
+
+
+/*!
+       \fn void BView::GetFontHeight(font_height* height) const
+       \brief Fill out the font_height struct with the view font.
+
+       \param[out] height The font_height struct to fill out.
+*/
+
+
+/*!
+       \fn void BView::SetFontSize(float size)
+       \brief Set the size of the view's font to \a size.
+
+       \param size The font size to set to the view in points.
+*/
+
+
+/*!
+       \fn float BView::StringWidth(const char* string) const
+       \brief Return the width of \a string set in the font of the view.
+
+       \param string The \a string to get the width of.
+
+       \return The width of the string in the view's font as a float.
+*/
+
+
+/*!
+       \fn float BView::StringWidth(const char* string, int32 length) const
+       \brief Return the width of \a string set in the font of the view up to
+              \a length characters.
+
+       \param string The \a string to get the width of.
+       \param length The maximum number of characters in \a string to consider.
+
+       \return The width of the string in the view's font as a float.
+*/
+
+
+/*!
+       \fn void BView::GetStringWidths(char* stringArray[], int32 
lengthArray[],
+               int32 numStrings, float widthArray[]) const
+       \brief Fill out widths of the strings in \a stringArray set in the font
+              of the view into \a widthArray.
+
+       \param stringArray The array of strings to get the lengths of.
+       \param lengthArray The number of characters of the strings in \a 
stringArray
+              to consider.
+       \param numStrings The number of strings in \a stringArray.
+       \param widthArray The array to store the widths of the strings in
+              \a stringArray.
+*/
+
+
+/*!
+       \fn void BView::TruncateString(BString* string, uint32 mode, float 
width) const
+       \brief Truncate \a string with truncation mode \a mode so that it is no 
wider
+              than \a width set in the view's font.
+
+       When the string is truncated the missing characters are replaced by a
+       horizontal ellipses.
+
+       \param string The string to truncate in place.
+       \param mode The truncation mode to use, one of the following:
+       - \c B_TRUNCATE_BEGINNING Truncate from the beginning of the string.
+       - \c B_TRUNCATE_MIDDLE Truncate from the middle of the string.
+       - \c B_TRUNCATE_END Truncate from the end of the string.
+       - \c B_TRUNCATE_SMART Truncate from anywhere based on the string 
content.
+            Not currently implemented.
+       \param width The maximum width to truncate the string to.
+*/
+
+
+/*!
+       \fn void BView::ClipToPicture(BPicture* picture, BPoint where, bool 
sync)
+       \brief Intersects the current clipping region of the view with the 
pixels
+              of \a picture.
+
+       BPicture instances are resolution independent, \a picture is effectively
+       drawn at the view's resolution and the bitmap produced is used to 
modify the
+       clipping region.
+
+       The pixels that are at least partially opaque are the ones drawn by
+       \a picture.
+
+       \param picture The BPicture object to intersect with.
+       \param where Offset in the view's coordinate system.
+       \param sync If \c false, this method will execute asynchronously.
+*/
+
+
+/*!
+       \fn void BView::ClipToInversePicture(BPicture* picture, BPoint where,
+               bool sync)
+       \brief Intersects the current clipping region of the view with the 
pixels
+              outside of \a picture.
+
+       \param picture The BPicture object to intersect with.
+       \param where Offset in the view's coordinate system.
+       \param sync If \c false, this method will execute asynchronously.
+
+       \see ClipToPicture()
+*/
+
+
+/*!
+       \fn void BView::GetClippingRegion(BRegion* region) const
+       \brief Fill out \a region with the view's clipping region.
+
+       \param[out] region The BRegion object to fill out.
+*/
+
+
+/*!
+       \fn void BView::ConstrainClippingRegion(BRegion* region)
+       \brief Set the clipping region the \a region restricting the area that 
the
+              view can draw in.
+
+       The Application Server keeps track of the clipping region for each view
+       attached to a window so that the view can't draw outside of it,
+       consequently this method works only for view that are attached to a 
window.
+
+       The default clipping region contains the visible area of the view. By 
passing
+       a region to this method the clipping area is further restricted. 
Passing in
+       \c NULL resets the clipping region back to the default.
+
+       Calls to ConstrainClippingRegion() are not cumulative, each time this
+       method is called it replaces the old clipping region.
+
+       \param region The region to set the clipping region to or \c NULL
+              to reset to default.
+*/
+
+
+//! @}
+
+
+/*!
+       \name Drawing Related Methods
+
+       The view must be attached to the window for these methods to work unless
+       otherwise stated. Notes on specific methods are provided below:
+
+       DrawBitmap()
+
+       If the the image is bigger than the destination rectangle, it is scaled 
to fit.
+
+       The asynchronous versions pass the image to Application Server and 
return
+       immediately.
+
+       This can be more efficient in some cases for example to draw several 
bitmaps
+       at once and then call Sync() to tell Application Server to wait for 
them all
+       to finish drawing rather than waiting for each one to draw.
+
+       DrawPicture()
+
+       The asynchronous versions pass the picture to Application Server and 
return
+       immediately.
+
+       This can be more efficient in some cases for example to draw several 
pictures
+       at once and then call Sync() to tell Application Server to wait for 
them all
+       to finish drawing rather than waiting for each one to draw.
+
+       DrawPicture() doesn't alter the graphics state of the view nor do 
changes to
+       the graphics state of the view alter the BPicture object. What the 
picture
+       will look like depends on the graphics parameters that were in effect 
when the
+       picture was recorded.
+
+       DrawString()
+
+       The \a string is drawn in the view's current font and is modified by
+       the other parameters of the font such as it's direction (left-to-right 
or
+       right-to-left), rotation, spacing, shear, etc. The \a string is always 
drawn
+       left to right even if it's text direction is set to right-to-left mode.
+
+       Drawing a string is fastest in \c B_OP_COPY mode and anti-aliasing can
+       produce undesirable effects when a string is draw in other modes, 
especially
+       if the string is drawn in the same location repeatedly.
+
+       DrawString() doesn't erase before drawing.
+*/
+
+
+//! @{
+
+
+/*!
+       \fn void BView::DrawBitmapAsync(const BBitmap* bitmap, BRect bitmapRect,
+               BRect viewRect, uint32 options)
+       \brief Draws \a bitmap on the view within \a viewRect asynchronously.
+
+       \param bitmap The bitmap to draw onto the view.
+       \param bitmapRect The portion of the bitmap to draw in the bitmap's
+              coordinate system.
+       \param viewRect The area in the view's coordinate system to draw the
+              bitmap in.
+       \param options ??
+*/
+
+
+/*!
+       \fn void BView::DrawBitmapAsync(const BBitmap* bitmap, BRect bitmapRect,
+               BRect viewRect)
+       \brief Draws \a bitmap on the view within \a viewRect asynchronously.
+
+       \param bitmap The bitmap to draw onto the view.
+       \param bitmapRect The portion of the bitmap to draw in the bitmap's
+              coordinate system.
+       \param viewRect The area in the view's coordinate system to draw the
+              bitmap in.
+*/
+
+
+/*!
+       \fn void BView::DrawBitmapAsync(const BBitmap* bitmap, BRect viewRect)
+       \brief Draws \a bitmap on the view within \a viewRect asynchronously.
+
+       \param bitmap The bitmap to draw onto the view.
+       \param viewRect The area in the view's coordinate system to draw the
+              bitmap in.
+*/
+
+
+/*!
+       \fn void BView::DrawBitmapAsync(const BBitmap* bitmap, BPoint where)
+       \brief Draws \a bitmap on the view offset by \a where asynchronously.
+
+       \param bitmap The bitmap to draw onto the view.
+       \param where The location to draw the bitmap in the view's coordinate 
system.
+*/
+
+
+/*!
+       \fn void BView::DrawBitmapAsync(const BBitmap* bitmap)
+       \brief Draws \a bitmap on the view asynchronously.
+
+       \param bitmap The bitmap to draw onto the view.
+*/
+
+
+/*!
+       \fn void BView::DrawBitmap(const BBitmap* bitmap, BRect bitmapRect,
+               BRect viewRect, uint32 options)
+       \brief brief Draws \a bitmap on the view within \a viewRect.
+
+       \param bitmap The bitmap to draw onto the view.
+       \param bitmapRect The portion of the bitmap to draw in the bitmap's
+              coordinate system.
+       \param viewRect The area in the view's coordinate system to draw the
+              bitmap in.
+       \param options ??
+*/
+
+
+/*!
+       \fn void BView::DrawBitmap(const BBitmap* bitmap, BRect bitmapRect,
+               BRect viewRect)
+       \brief Draws \a bitmap on the view within \a viewRect.
+
+       \param bitmap The bitmap to draw onto the view.
+       \param bitmapRect The portion of the bitmap to draw in the bitmap's
+              coordinate system.
+       \param viewRect The area in the view's coordinate system to draw the
+              bitmap in.
+*/
+
+
+/*!
+       \fn void BView::DrawBitmap(const BBitmap* bitmap, BRect viewRect)
+       \brief Draws \a bitmap on the view within \a viewRect.
+
+       \param bitmap The bitmap to draw onto the view.
+       \param viewRect The area in the view's coordinate system to draw the
+              bitmap in.
+*/
+
+
+/*!
+       \fn void BView::DrawBitmap(const BBitmap* bitmap, BPoint where)
+       \brief Draws \a bitmap on the view offset by \a where.
+
+       \param bitmap The bitmap to draw onto the view.
+       \param where The location to draw the bitmap in the view's coordinate 
system.
+*/
+
+
+/*!
+       \fn void BView::DrawBitmap(const BBitmap* bitmap)
+       \brief Draws \a bitmap on the view.
+
+       \param bitmap The bitmap to draw onto the view.
+*/
+
+
+/*!
+       \fn void BView::DrawChar(char c)
+       \brief Draws character \a c onto to the view at the current pen 
position.
+
+       The character is drawn in the view's current font.
+
+       \param c The character to draw.
+*/
+
+
+/*!
+       \fn void BView::DrawChar(char c, BPoint location)
+       \brief Draws character \a c at the specified \a location in the view.
+
+       The character is drawn in the view's current font.
+
+       \param c The character to draw.
+       \param location The location in the view to draw the character.
+*/
+
+
+/*!
+       \fn void BView::DrawString(const char* string, escapement_delta* delta)
+       \brief Draw \a string onto the view at the current pen position.
+
+       \param string The string to draw.
+       \param delta Adds additional width to each character according to the
+              following fields:
+       - nonspace(float) The amount of width to add to characters with visible
+         glyphs.
+       - space(float) The amount of width to add to characters with escapements
+         but don't have visible glyphs.
+*/
+
+
+/*!
+       \fn void BView::DrawString(const char* string, BPoint location,
+               escapement_delta* delta)
+       \brief Draw \a string onto the view at the specified \a location in the 
view.
+
+       \param string The string to draw.
+       \param location The location in the view to draw the string.
+       \param delta Adds additional width to each character according to the
+              following fields:
+       - nonspace(float) The amount of width to add to characters with visible
+         glyphs.
+       - space(float) The amount of width to add to characters with escapements
+         but don't have visible glyphs.
+*/
+
+
+/*!
+       \fn void BView::DrawString(const char* string, int32 length,
+               escapement_delta* delta)
+       \brief Draw \a string up to \a length characters onto the view at the 
current
+              pen position.
+
+       \param string The string to draw.
+       \param length The maximum number of characters in \a string to draw.
+       \param delta Adds additional width to each character according to the
+              following fields:
+       - nonspace(float) The amount of width to add to characters with visible
+         glyphs.
+       - space(float) The amount of width to add to characters with escapements
+         but don't have visible glyphs.
+*/
+
+
+/*!
+       \fn void BView::DrawString(const char* string, int32 length, BPoint 
location,
+               escapement_delta* delta)
+       \brief Draw \a string up to \a length characters onto the view at the
+              specified \a location in the view.
+
+       \param string The string to draw.
+       \param length The maximum number of characters in \a string to draw.
+       \param location The location in the view to draw the string.
+       \param delta Adds additional width to each character according to the
+              following fields:
+       - nonspace(float) The amount of width to add to characters with visible
+         glyphs.
+       - space(float) The amount of width to add to characters with escapements
+         but don't have visible glyphs.
+*/
+
+
+/*!
+       \fn void BView::DrawString(const char* string, const BPoint* locations,
+               int32 locationCount)
+       \brief Draw \a string \a locationCount times at the specified \a 
locations.
+
+       \param string The string to draw.
+       \param locations A pointer to an array of BPoint objects to draw the 
string.
+       \param locationCount The number of elements in \a locations.
+*/
+
+
+/*!
+       \fn void BView::DrawString(const char* string, int32 length,
+               const BPoint* locations, int32 locationCount)
+       \brief Draw \a string up to \a length characters \a locationCount times 
at the
+              specified \a locations.
+
+       \param string The string to draw.
+       \param length The maximum number of characters in \a string to draw.
+       \param locations A pointer to an array of BPoint objects to draw the 
string.
+       \param locationCount The number of elements in \a locations.
+*/
+
+
+/*!
+       \fn void BView::StrokeEllipse(BPoint center, float xRadius, float 
yRadius,
+               pattern p)
+       \brief Stroke the outline of an ellipse starting at \a center with a
+              horizontal radius of \a xRadius and a vertical radius of \a 
yRadius.
+
+       \param center The center point.
+       \param xRadius The horizontal radius.
+       \param yRadius The vertical radius.
+       \param p One of the following:
+       - \c B_SOLID_HIGH
+       - \c B_SOLID_LOW
+       - \c B_MIXED_COLORS
+*/
+
+
+/*!
+       \fn void BView::StrokeEllipse(BRect rect, pattern p)
+       \brief Stroke the outline of an ellipse inscribed within \a rect.
+
+       \param rect The area within which to inscribe the shape.
+       \param p One of the following:
+       - \c B_SOLID_HIGH
+       - \c B_SOLID_LOW
+       - \c B_MIXED_COLORS
+*/
+
+
+/*!
+       \fn void BView::FillEllipse(BPoint center, float xRadius, float yRadius,
+               pattern p)
+       \brief Fill an ellipse starting at \a center with a horizontal radius
+              of \a xRadius and a vertical radius of \a yRadius.
+
+       \param center The center point.
+       \param xRadius The horizontal radius.
+       \param yRadius The vertical radius.
+       \param p One of the following:
+       - \c B_SOLID_HIGH
+       - \c B_SOLID_LOW
+       - \c B_MIXED_COLORS
+*/
+
+
+/*!
+       \fn void BView::FillEllipse(BRect rect, pattern p)
+       \brief Fill an ellipse inscribed within \a rect.
+
+       \param rect The area within which to inscribe the shape.
+       \param p One of the following:
+       - \c B_SOLID_HIGH
+       - \c B_SOLID_LOW
+       - \c B_MIXED_COLORS
+*/
+
+
+/*!
+       \fn void BView::FillEllipse(BPoint center, float xRadius, float yRadius,
+               const BGradient& gradient)
+       \brief Fill an ellipse with the specified \a gradient pattern starting 
at
+              \a center with a horizontal radius of \a xRadius and a vertical 
radius
+                  of \a yRadius.
+
+       \param center The center point.
+       \param xRadius The horizontal radius.
+       \param yRadius The vertical radius.
+       \param gradient The gradient pattern to fill the ellipse with.
+*/
+
+
+/*!
+       \fn void BView::FillEllipse(BRect rect, const BGradient& gradient)
+       \brief Fill an ellipse with the specified \a gradient pattern inscribed 
within
+              \a rect.
+
+       \param rect The area within which to inscribe the shape.
+       \param gradient The gradient pattern to fill the ellipse with.
+*/
+
+
+/*!
+       \fn void BView::StrokeArc(BPoint center, float xRadius, float yRadius,
+               float startAngle, float arcAngle, pattern p)
+       \brief Stroke the outline of an arc starting at \a center with a
+              horizontal radius of \a xRadius and a vertical radius of \a 
yRadius
+              starting at \a startAngle and drawing \a arcAngle degrees.
+
+       \param center The center point.
+       \param xRadius The horizontal radius.
+       \param yRadius The vertical radius.
+       \param startAngle The angle to begin drawing at.
+       \param arcAngle The number of degrees of the arc to draw.
+       \param p One of the following:
+       - \c B_SOLID_HIGH
+       - \c B_SOLID_LOW
+       - \c B_MIXED_COLORS
+*/
+
+
+/*!
+       \fn void BView::StrokeArc(BRect rect, float startAngle, float arcAngle,
+               pattern p)
+       \brief Stroke the outline of an arc inscribed within \a rect starting at
+              \a startAngle and drawing \a arcAngle degrees.
+
+       \param rect The area within which to inscribe the shape.
+       \param startAngle The angle to begin drawing at.
+       \param arcAngle The number of degrees of the arc to draw.
+       \param p One of the following:
+       - \c B_SOLID_HIGH
+       - \c B_SOLID_LOW
+       - \c B_MIXED_COLORS
+*/
+
+
+/*!
+       \fn void BView::FillArc(BPoint center, float xRadius, float yRadius,
+               float startAngle, float arcAngle, pattern p)
+       \brief Fill an arc starting at \a center with a horizontal radius of
+              \a xRadius and a vertical radius of \a yRadius starting at
+              \a startAngle and drawing \a arcAngle degrees.
+
+       \param center The center point.
+       \param xRadius The horizontal radius.
+       \param yRadius The vertical radius.
+       \param startAngle The angle to begin drawing at.
+       \param arcAngle The number of degrees of the arc to draw.
+       \param p One of the following:
+       - \c B_SOLID_HIGH
+       - \c B_SOLID_LOW
+       - \c B_MIXED_COLORS
+*/
+
+
+/*!
+       \fn void BView::FillArc(BPoint center, float xRadius, float yRadius,
+               float startAngle, float arcAngle, const BGradient& gradient)
+       \brief Fill an arc with the specified \a gradient pattern starting at
+              \a center with a horizontal radius of \a xRadius and a vertical
+                  radius of \a yRadius starting at \a startAngle and drawing
+                  \a arcAngle degrees.
+
+       \param center The center point.
+       \param xRadius The horizontal radius.
+       \param yRadius The vertical radius.
+       \param startAngle The angle to begin drawing at.
+       \param arcAngle The number of degrees of the arc to draw.
+       \param gradient The gradient pattern to fill the arc with.
+*/
+
+
+/*!
+       \fn void BView::FillArc(BRect rect, float startAngle, float arcAngle,
+               pattern p)
+       \brief Fill an arc inscribed within \a rect starting at startAngle and
+              drawing \a arcAngle degrees.
+
+       \param rect The area within which to inscribe the shape.
+       \param startAngle The angle to begin drawing at.
+       \param arcAngle The number of degrees of the arc to draw.
+       \param p One of the following:
+       - \c B_SOLID_HIGH
+       - \c B_SOLID_LOW
+       - \c B_MIXED_COLORS

[ *** diff truncated: 1008 lines dropped *** ]


############################################################################

Commit:      1126023668bb1f11de318ae20d9e2d26286ede17
URL:         http://cgit.haiku-os.org/haiku/commit/?id=1126023
Author:      John Scipione <jscipione@xxxxxxxxx>
Date:        Wed Jun 12 21:32:41 2013 UTC

Fill out the constructor docs.

----------------------------------------------------------------------------

############################################################################

Revision:    hrev45798
Commit:      dd84193fa4d42d9adf458c51ac673f56e9a1dd55
URL:         http://cgit.haiku-os.org/haiku/commit/?id=dd84193
Author:      John Scipione <jscipione@xxxxxxxxx>
Date:        Thu Jun 13 22:11:10 2013 UTC

Begin filling out the detailed description

----------------------------------------------------------------------------


Other related posts:

  • » [haiku-commits] haiku: hrev45798 - docs/user/interface - jscipione