192 lines
16 KiB
HTML
192 lines
16 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Be Newsletters - Volume 4: 1999</title><link rel="stylesheet" href="be_newsletter.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
|
||
<link rel="stylesheet" type="text/css" href="be_newsletter_ie.css" />
|
||
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><link rel="start" href="index.html" title="Be Newsletters" /><link rel="up" href="volume4.html" title="Volume 4: 1999" /><link rel="prev" href="Issue4-42.html" title="Issue 4-42, October 20, 1999" /><link rel="next" href="Issue4-44.html" title="Issue 4-44, November 3, 1999" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="Issue4-42.html" title="Issue 4-42, October 20, 1999"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="volume4.html" title="Volume 4: 1999"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="Issue4-44.html" title="Issue 4-44, November 3, 1999"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">Be Newsletters - Volume 4: 1999</div></div><div id="headerB">Prev: <a href="Issue4-42.html">Issue 4-42, October 20, 1999</a> Up: <a href="volume4.html">Volume 4: 1999</a> Next: <a href="Issue4-44.html">Issue 4-44, November 3, 1999</a></div><hr /></div><div class="article"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Issue4-43"></a>Issue 4-43, October 27, 1999</h2></div></div></div><div class="sect1"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Marketing4-43"></a>Business & Marketing: What's new in Europe</h2></div><div xmlns:d="http://docbook.org/ns/docbook"><span xmlns="http://www.w3.org/1999/xhtml" class="author">By <span class="firstname">Michael</span> <span class="surname">Alderete</span></span></div></div></div><p>
|
||
As many of you have noticed, we've upgraded the look-and-feel of BeWare,
|
||
and moved it to the main Be web site:
|
||
</p><p>
|
||
<http://www.be.com/software/beware/>
|
||
</p><p>
|
||
The changes are all with the look-and-feel, the presentation, of BeWare.
|
||
We hope you, and the thousands of people who download your software from
|
||
BeWare each month, will find the new design easier to look at and use.
|
||
</p><p>
|
||
We're not quite finished with the changes. In the next week or so we will
|
||
be reorganizing the categories and subcategories for BeWare, to try to
|
||
make things easier to find, as well as to reflect the state of software
|
||
for BeOS today, rather than the DR8 days when the categories were first
|
||
designed. We'll also continue to tweak the templates that build the
|
||
pages. And there's at least one surprise still up our sleeves. ;-)
|
||
</p><p>
|
||
If you haven't done so in a while, you should visit the Registered
|
||
Developer section and update the information for each of your
|
||
applications:
|
||
</p><p>
|
||
<http://www.be.com/developers/registered_entry.html>
|
||
</p><p>
|
||
You might also take a quick look at each of your application entries in
|
||
the new BeWare, and make sure things are displaying as you expect.
|
||
</p><p>
|
||
To answer a few questions before they're asked, this redesign is NOT a
|
||
change in the systems that handle BeWare. We're definitely going to do
|
||
that, too, but that will take a few months, because it is intimately tied
|
||
into all our other Developer databases and systems. Replacing the back
|
||
end will let us add lots of new features to BeWare, like better searching
|
||
and immediate updating, instead of the 24 hour or longer waiting period
|
||
that still exists today.
|
||
</p></div><hr class="pagebreak" /><div class="sect1"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Engineering4-43"></a>Be Engineering Insights: Getting More From BPrintJob</h2></div><div xmlns:d="http://docbook.org/ns/docbook"><span xmlns="http://www.w3.org/1999/xhtml" class="author">By <span class="firstname">Michael</span> <span class="surname">Morrissey</span></span></div></div></div><p>
|
||
If your application prints, chances are that you send <code class="classname">BView</code>s directly to
|
||
the <code class="classname">BPrintJob</code> class without any modification. This
|
||
what-you-see-is-what-you-get style of printing is ideal for word
|
||
processors and graphic design applications, but for applications where
|
||
printing is not an end in itself, there might be a lot of meta-
|
||
information about the document which could enhance your printed output.
|
||
</p><p>
|
||
Obvious examples of such meta-information include document title, page
|
||
numbers, date and time, and the application which printed the document.
|
||
You needn't be limited and use only text: if you've written a mail
|
||
program, for example, you might consider putting an icon on the page
|
||
which indicates if the mail is in the inbox or outbox.
|
||
</p><p>
|
||
To do this, you could modify your <code class="methodname">BView::Draw()</code> functions to check
|
||
<code class="methodname">IsPrinting()</code> is <code class="constant">true</code>,
|
||
and behave accordingly. A better approach is to
|
||
subclass <code class="classname">BPrintJob</code>, and have the derived class print your
|
||
meta-information. To see how to do this, take a look at the <code class="classname">BorderPrint</code>
|
||
class:
|
||
</p><p>
|
||
<ftp://ftp.be.com/pub/samples/interface_kit/BorderPrint.zip>
|
||
</p><p>
|
||
Adding this class to your application is trivial: just add it to your
|
||
makefile or project file, and change <code class="classname">BPrintJob</code> definitions in your code
|
||
to <code class="classname">BorderPrint</code> definitions. Now when your application prints, there will
|
||
be a small banner on the top of the page with the name of print job
|
||
centered, and a banner on the bottom of the page with the date and time
|
||
flushed right, and page number flushed right. There will be a thick
|
||
border around the entire document, with your application's contents
|
||
indented inside.
|
||
</p><p>
|
||
The heart of this trick lies in the
|
||
<code class="methodname">BorderPrint::DrawView()</code> function. The first time
|
||
this function is called, it calls
|
||
<code class="methodname">BPrintJob::DrawView()</code>, passing in its own
|
||
<code class="classname">BorderView</code> view. With the banners and borders now on
|
||
the spool page, <code class="methodname">BPrintJob::DrawView()</code> is called
|
||
with the actual <code class="classname">BView</code> argument, but with the
|
||
<code class="classname">BPoint</code> argument offset to account for the border
|
||
height and width.
|
||
</p><p>
|
||
Naturally, this wouldn't work if the <code class="methodname">PrintableRect()</code> function hadn't been
|
||
overridden to return a smaller <code class="classname">BRect</code>, one that fits inside the border.
|
||
</p><p>
|
||
There is one potential snag that you need to be aware of: most of the
|
||
functions in the <code class="classname">BPrintJob</code> class are not declared as virtual.
|
||
Consequently, in the unlikely event that your application passes
|
||
<code class="classname">BPrintJob</code> pointers around, you'll instead need to pass <code class="classname">BorderPrint</code>
|
||
pointers.
|
||
</p><p>
|
||
There's plenty of fun to be had with this trick, some useful, some purely
|
||
ornamental. Think unconventionally and experiment!
|
||
</p></div><hr class="pagebreak" /><div class="sect1"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="DevWorkshop4-43"></a>Developers' Workshop: QuickDrag</h2></div><div xmlns:d="http://docbook.org/ns/docbook"><span xmlns="http://www.w3.org/1999/xhtml" class="author">By <span class="firstname">Stephen</span> <span class="surname">Beaulieu</span></span></div></div></div><p>
|
||
In last week's Developer Workshop article,
|
||
<a class="xref" href="Issue4-42.html#DevWorkshop4-42" title="Developers' Workshop: TranslatorPanel: The Revenge">Developers' Workshop: TranslatorPanel: The Revenge</a>, Daniel presented a
|
||
method for starting a drag and drop session using a one-shot
|
||
<code class="classname">BMessageRunner</code>. The goal was to ignore extraneous mouse clicks and
|
||
inadvertent mouse drags. A potential disadvantage is that this imposes a
|
||
delay on the start of the drag process.
|
||
</p><p>
|
||
This week's sample code offers an alternate method for starting a drag
|
||
process based on the distance the mouse travels while a button is down.
|
||
</p><p>
|
||
You can find <span class="application">QuickDrag</span> at
|
||
</p><p>
|
||
<ftp://ftp.be.com/pub/samples/intro/QuickDrag.zip>
|
||
</p><p>
|
||
<span class="application">QuickDrag</span> creates a window with a single view that slowly cycles colors
|
||
through a very uninteresting algorithm. A drag is initiated when a user
|
||
clicks in the window and drags more than 10 pixels horizontally or
|
||
vertically from the click point. When a drag and drop session starts, a
|
||
transparent bitmap of the window's current color will be dragged and the
|
||
window will stop cycling colors.
|
||
</p><p>
|
||
The implementation is straightforward. The view caches the click point
|
||
when the mouse has moved 10 pixels and initiates the dragging process.
|
||
The code is self-explanatory, so I'll only point out two things here:
|
||
</p><div class="orderedlist"><ol><li><p>
|
||
It's necessary to call <code class="methodname">SetMouseEventMask()</code> in <code class="methodname">MouseDown()</code> to track
|
||
the mouse when it leaves the view. Otherwise, a click within 10 pixels
|
||
of an edge only generates a drag when the mouse moves into the view.
|
||
Unset the mask in <code class="methodname">MouseUp()</code>.
|
||
</p></li><li><p>
|
||
A pixel in a <code class="constant">B_RGB32</code> bitmap is not the same as
|
||
an <span class="type">rgb_color</span>. It's
|
||
necessary to swap the red and blue colors.
|
||
</p></li></ol></div></div><hr class="pagebreak" /><div class="sect1"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="Gassee4-43"></a>Peaceful Coexistence: The Sunny Side</h2></div><div xmlns:d="http://docbook.org/ns/docbook"><span xmlns="http://www.w3.org/1999/xhtml" class="author">By <span class="firstname">Jean-Louis</span> <span class="surname">Gassée</span></span></div></div></div><p>
|
||
You've heard it here, more than once: our goal on x-86 is peaceful
|
||
coexistence with Windows, not replacing it. Unlike OS/2's claim of
|
||
"better DOS than DOS, better Windows than Windows" we aim to please by
|
||
complementing the dominant OS. BeOS specializes in media-intensive
|
||
applications, while Windows provides traditional services such as office
|
||
productivity. In other words, add value and fun to your PC by loading
|
||
BeOS next to Windows, not instead of Windows.
|
||
</p><p>
|
||
I'm told this sounds reasonable. However, as we discovered reading the
|
||
transcript of the almost-forgotten anti-trust trial, Microsoft doesn't
|
||
like that story. One of their senior executives, Paul Maritz, argued that
|
||
BeOS was in fact a much more sinister threat. In his view, we only
|
||
masquerade as a specialized, complementary OS. Once having established a
|
||
foothold in the marketplace, though, we'd try to put his employer out of
|
||
business. BeOS, Be-ing such a threat, clearly established the fragility
|
||
of Microsoft's position; our existence proved beyond doubt they were not
|
||
a monopoly.
|
||
</p><p>
|
||
Ah well. I wonder what Microsoft will say to the fact that we're
|
||
demonstrating what BeOS can do for media-rich Web appliances, especially
|
||
in applications where broadband pipes allow for a heady mixture of
|
||
information and entertainment. And for transactions, a space where
|
||
Windows is too complicated and fragile, and where CE lacks the ability to
|
||
handle the media streams and the bandwidth.
|
||
</p><p>
|
||
Fortunately, customers have a sunnier perspective on peaceful
|
||
coexistence. You've probably read various columns criticizing Windows 98
|
||
for its size, complexity, and fragility. Recently, Walt Mossberg, the
|
||
Personal Computing Technology columnist at the Wall Street Journal, wrote
|
||
a fairly tart piece on his struggles with Win 98. Last August, if memory
|
||
serves, Stewart Alsop, speaking as both venture investor with NEA and
|
||
columnist for Fortune Magazine, wrote a "Why I hate Windows" piece
|
||
detailing his negative experiences. I could add my own registry of
|
||
stories but I'd rather let one of our customers tell his:
|
||
</p><div class="blockquote"><blockquote class="blockquote"><p>
|
||
From : xxxx yyy <xxx@okay.net><br />
|
||
To : infobe@beeurope.com <infobe@beeurope.com><br />
|
||
Date : mercredi 20 octobre 1999 23:21<br />
|
||
Subject : lifesaving with BeOS
|
||
</p><p>
|
||
hi folks—you don't know how great you (and your OS) are.
|
||
treated with much kindness by Menlo by getting registered
|
||
your OS just saved me.
|
||
</p><p>
|
||
My harddisk (fat) went off to space and none of the other
|
||
tools (tiramisu, etc etc etc) helped. I remembered at that
|
||
point that "BeOS mounts nearly everything..."
|
||
</p><p>
|
||
Installed BeOS on a separate partition, booting, mounting
|
||
defect drive, copying all valuable data to BeOS volume (and
|
||
for further safety on MO's). Back again—NOTHING LOST AT
|
||
ALL....
|
||
</p><p>
|
||
Took about 40 minutes and was so easy—thanks for this
|
||
from HAMBURG xxx yyy
|
||
</p></blockquote></div><p>
|
||
As stated above, this is a much sunnier perspective on peaceful
|
||
coexistence. Perhaps we ought to reposition BeOS as a companion utility
|
||
for Windows users. I still have a minimal DOS disk with Norton Commander,
|
||
a mouse driver, and a CD-ROM driver—I use it to reanimate my PC when
|
||
Windows crashes real hard. I'm red-faced, since I use System Commander
|
||
and BeOS on the same system. I should have thought of using our own
|
||
product.
|
||
</p></div></div><div id="footer"><hr /><div id="footerT">Prev: <a href="Issue4-42.html">Issue 4-42, October 20, 1999</a> Up: <a href="volume4.html">Volume 4: 1999</a> Next: <a href="Issue4-44.html">Issue 4-44, November 3, 1999</a> </div><div id="footerB"><div id="footerBL"><a href="Issue4-42.html" title="Issue 4-42, October 20, 1999"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="volume4.html" title="Volume 4: 1999"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="Issue4-44.html" title="Issue 4-44, November 3, 1999"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
|
||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
|
||
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>
|