haiku/headers/os/interface/GradientRadialFocus.h
Stephan Aßmus 991547ef6c Patch by Artur Wyszynski:
* Implemented BGradient, BGradientLinear, BGradientRadial,
  BGradientDiamond, BGradientConic and BGradientRadialFocus
  new Interface Kit classes.
* Implemented all the (AGG-based) backend necessary in
  the app_server to render gradients (Painter, DrawingEngine)
* app_server/View can convert a BGradient layout to screen
  coordinates.
* Added BGradient methods of the Fill* methods in BView.
* Implemented a test app and added it to the image as a
  demo.
* Adopted Icon-O-Matic and libs/icon in order to avoid
  clashing with the new BGradient class. Re-use some
  parts where possible.

Awesome work, Artur! Thanks a lot. Now a more modern
looking GUI has just become much easier to implement! :-)

TODO:
* Remove the need to have gradient type twice in the
  app_server protocol.
* Refactor some parts of the patch to remove duplicated
  code (Painter, DrawingEngine).
* Adopt the BPicture protocol to know about BGradients.
* Review some parts of the BArchivable implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28109 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 21:27:42 +00:00

36 lines
783 B
C++

/*
* Copyright 2006-2008, Haiku.
* Distributed under the terms of the MIT License.
*
* Authors:
* Artur Wyszynski <harakash@gmail.com>
*/
#ifndef GRADIENT_RADIAL_FOCUS_H
#define GRADIENT_RADIAL_FOCUS_H
#include <Gradient.h>
class BPoint;
class BGradientRadialFocus : public BGradient {
public:
BGradientRadialFocus();
BGradientRadialFocus(const BPoint& center, float radius,
const BPoint& focal);
BGradientRadialFocus(float cx, float cy, float radius, float fx, float fy);
BPoint Center() const;
void SetCenter(const BPoint& center);
void SetCenter(float cx, float cy);
BPoint Focal() const;
void SetFocal(const BPoint& focal);
void SetFocal(float fx, float fy);
float Radius() const;
void SetRadius(float radius);
};
#endif // GRADIENT_RADIAL_FOCUS_H