.. _breaking-changes-reference-label:

Breaking Changes
================

ImagePlane
----------

The following deprecated constructors have been removed::

  ImageTilePtr( float* ptr, int stride );
  ImageTileReadOnlyPtr( const float* ptr, int stride );
  
These should be replaced with the alternative constructors that allow bounds checking::

  ImageTilePtr(float* ptr, float* startptr, float* endptr, int stride);
  ImageTileReadOnlyPtr( const float* ptr, const float* startptr, const float* endptr, int stride );


Knob
----

The deprecated call to make_widget() without a WidgetContext has now been removed. The version that takes a WidgetContext should be used instead::

  virtual WidgetPointer make_widget(const WidgetContext& context);


LUT
---

The deprecated ``builtin`` functions have been removed::

  static LUT* builtin(BuiltinLUTId n);
  static LUT* builtin(const char* name);

Readers and Writers should use ``builtin( type, Reader* )`` or ``builtin( type, Writer* )``
instead to allow OCIO support. All other code should use ``GetBuiltinLUT`` or ``GetBuiltinLutByName``
instead.

Deprecated functions to get and set LUTs have also been removed::

  static LUT* getLut(DataType);
  static void setLut(DataType, LUT*);

To get LUTs, Readers and Writers should use ``GetLut( DataType, Reader* )`` or ``GetLut( DataType, Writer* )``
to allow OCIO support. All other code should use GetDefaultLutForType() instead.

To set LUTs, use ``SetLut(DataType, LUT*)``.


LightContext
------------

LightContext has been made non-copyable and non-assignable.


MultiTile
---------

MultiTile.h has been removed from DDImage and replaced by MultiTileIop.h.  See
:ref:`new-features-reference-label` for details.


Op
--

The ``root_fps()`` function has been removed. You should now use::

  extern DDImage_API float (* root_real_fps)();



OutputContext
-------------

The ``frame(double v)`` function has been removed. Use::

  void setFrame(double v) { frame_ = v; }
