History log of /haiku/headers/private/interface/WidthBuffer.h
Revision Date Author Comments
# 2feea51f 11-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* cleanup and style fixes in WidthBuffer

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38033 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4225e5b7 03-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Use the Bfont object to discriminate between fonts (as in Dano)
and not just size and code. Style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37369 a95241bf-73f2-0310-859d-f6bbb57e9c96


# adcb8345 30-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* The WidthBuffer lock was unnecessarily static. Made it an object member.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b545073f 06-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

* Moved the global BPrivate::WidthBuffer from BTextView into BPrivate as
gWidthBuffer.
* Tracker PoseView now uses BPrivate::gWidthBuffer instead of it's own
instance.
* TextView.h and PoseView.h are now a little cleaner.
* InterfaceDefs.cpp now deletes gWidthBuffer in _fini_interface_kit_().
* Added binary compatibility support for NetPositive in WidthBuffer.h and .cpp.
Obviously it kind of defeats the purpose of having WidthBuffer neatly tucked
away in the BPrivate namespace, but Haiku should run NetPositive, I guess.
Fixes #2879.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28532 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 90b7764d 21-Sep-2008 Rene Gollent <anevilyak@gmail.com>

Move WidthBuffer and TextGapBuffer into BPrivate and use them from there in BPoseView and BTextView. This (correctly) fixes the previous gcc4 build issues.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27675 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a682d981 20-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

Quite a cleanup action to avoid polluting the global namespace with private
BTextView classes:

* Declared the directly used BTextView helper classes as private BTextView
classes and changed all affected files.
* Realized that Tracker's BPoseView was (accidentally?) using what used to
be _BWidthBuffer_. It had declared it's own class with the same name and
same members/size in headers/private/tracker/TextViewSupport.h, but the
implementation was nowhere to be found. I can only explain this that
the BTextView implementation was then actually linked and used. But the big
problem was that it was used without locking (unlike in BTextView)! When
many Tracker windows opened during system startup or later and they happened
to each request characters not yet in the cache, I imagine things could have
gone bad and corrupted memory. Anyways, since I can see the usefulness of
the cache, BPoseView uses BTextView::WidthBuffer on purpose now. And I moved
the locking inside BTextView::WidthBuffer::StringWidth().
* Adjusted InterfaceDefs.cpp accordingly.
* TODO: Move subsequent classes into BTextView namespace as well, ie derived
classes that BTextView doesn't directly know about. All stuff in src/kits/
inteface/textview_support/
* Added preliminary and not yet implemented layout friendly BTextView
constructors.
* I will try to handle the insets imposed by BTextView::fTextRect a bit
differently when used inside the new layout management framework. For this,
I added BTextView::SetInsets() and GetInsets(). SetInsets() doesn't do
anything yet.

So far, everything seems to work still... ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27654 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 54c0657b 20-Jun-2004 beveloper <beveloper@nowhere.fake>

another build fix


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8080 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ac41b0f1 09-Apr-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added license


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7188 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e0649957 18-Mar-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed an unneeded dependency


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7016 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f1569dbb 15-Jan-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved some headers here so they can be included by Globals.cpp in the interface kit folder


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6092 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2feea51f5767c1ebe07f66fbf0e939f89a49ffb5 11-Aug-2010 Oliver Tappe <zooey@hirschkaefer.de>

* cleanup and style fixes in WidthBuffer

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38033 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4225e5b785b61988b7944bd6b1efdadce3885f65 03-Jul-2010 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Use the Bfont object to discriminate between fonts (as in Dano)
and not just size and code. Style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37369 a95241bf-73f2-0310-859d-f6bbb57e9c96


# adcb834590a663352ed8caaca7fa082e221b78cf 30-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

* The WidthBuffer lock was unnecessarily static. Made it an object member.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34367 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b545073f089282445eaf00a96e2b8f4699079c84 06-Nov-2008 Stephan Aßmus <superstippi@gmx.de>

* Moved the global BPrivate::WidthBuffer from BTextView into BPrivate as
gWidthBuffer.
* Tracker PoseView now uses BPrivate::gWidthBuffer instead of it's own
instance.
* TextView.h and PoseView.h are now a little cleaner.
* InterfaceDefs.cpp now deletes gWidthBuffer in _fini_interface_kit_().
* Added binary compatibility support for NetPositive in WidthBuffer.h and .cpp.
Obviously it kind of defeats the purpose of having WidthBuffer neatly tucked
away in the BPrivate namespace, but Haiku should run NetPositive, I guess.
Fixes #2879.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28532 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 90b7764dc354ff1bcb01abf78dafe16faa820725 21-Sep-2008 Rene Gollent <anevilyak@gmail.com>

Move WidthBuffer and TextGapBuffer into BPrivate and use them from there in BPoseView and BTextView. This (correctly) fixes the previous gcc4 build issues.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27675 a95241bf-73f2-0310-859d-f6bbb57e9c96


# a682d9819fae1e26cef1390bb33b5d5c73304642 20-Sep-2008 Stephan Aßmus <superstippi@gmx.de>

Quite a cleanup action to avoid polluting the global namespace with private
BTextView classes:

* Declared the directly used BTextView helper classes as private BTextView
classes and changed all affected files.
* Realized that Tracker's BPoseView was (accidentally?) using what used to
be _BWidthBuffer_. It had declared it's own class with the same name and
same members/size in headers/private/tracker/TextViewSupport.h, but the
implementation was nowhere to be found. I can only explain this that
the BTextView implementation was then actually linked and used. But the big
problem was that it was used without locking (unlike in BTextView)! When
many Tracker windows opened during system startup or later and they happened
to each request characters not yet in the cache, I imagine things could have
gone bad and corrupted memory. Anyways, since I can see the usefulness of
the cache, BPoseView uses BTextView::WidthBuffer on purpose now. And I moved
the locking inside BTextView::WidthBuffer::StringWidth().
* Adjusted InterfaceDefs.cpp accordingly.
* TODO: Move subsequent classes into BTextView namespace as well, ie derived
classes that BTextView doesn't directly know about. All stuff in src/kits/
inteface/textview_support/
* Added preliminary and not yet implemented layout friendly BTextView
constructors.
* I will try to handle the insets imposed by BTextView::fTextRect a bit
differently when used inside the new layout management framework. For this,
I added BTextView::SetInsets() and GetInsets(). SetInsets() doesn't do
anything yet.

So far, everything seems to work still... ;-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27654 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 54c0657bab2af63e964b3e787b20884035def990 20-Jun-2004 beveloper <beveloper@nowhere.fake>

another build fix


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8080 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ac41b0f103856f3ebe129e3d3578312eae4dcc03 09-Apr-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Added license


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7188 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e064995715ea81e2316be7c70c46a1d64f7fd73d 18-Mar-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Removed an unneeded dependency


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7016 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f1569dbb9e1cbb1c71c0d574c051d219d03ffe0c 15-Jan-2004 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Moved some headers here so they can be included by Globals.cpp in the interface kit folder


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6092 a95241bf-73f2-0310-859d-f6bbb57e9c96