title: Kivy: Camera does not respect pos_hint (but does respect size_hint)
body: <p>I'm writing a program in Kivy, and have run into a roadblock. Camera objects (from <code>kivy.uix.camera</code>) respond to changes in <code>size_hint</code>, but do <strong>not</strong> respond to changes in <code>pos_hint</code>. For pos_hint, it instead always centers the camera feed in the imaginary box drawn by size_hint (i.e. if <code>size_hint: (0.5, 0.5)</code>, then the feed would be centered within the bottom left half of the window, regardless of what pos_hint is set to).</p>
  <p>Here is a minimum reproducible example. If you want different <code>size_hint</code> or <code>pos_hint</code> values, feel free to alter the values given:</p>
  <h3>main.py</h3>
  <pre class="lang-py prettyprint-override"><code>import kivy
  kivy.require('1.11.1')
  
  from kivy.app import App
  from kivy.uix.widget import Widget
  from kivy.properties import ObjectProperty
  from kivy.uix.floatlayout import FloatLayout
  from kivy.uix.camera import Camera
  from kivy.core.window import Window
  
  Window.fullscreen = 'auto'  # uses display's current resolution
  
  class CameraStream(FloatLayout):
      pass
  
  
  class RootWidget(FloatLayout):
      camera_stream = ObjectProperty(None)
  
      def __init__(self, **kwargs):
          super(RootWidget, self).__init__(**kwargs)
  
  
  class LifterApp(App):
  
      def build(self):
          self.root = RootWidget()
          return self.root
  
  
  if __name__ == '__main__':
          LifterApp().run()
  </code></pre>
  <h3>lifter.kv</h3>
  <pre class="lang-py prettyprint-override"><code>#:kivy 1.11.1
  
  &lt;CameraStream&gt;:
      camera_stream: camera_stream_id
  
      Camera:
          id: camera_stream_id
          resolution: (320, 240)
          play: True
  
  &lt;RootWidget&gt;:
      camera_stream: camera_stream_id
  
      CameraStream:
          id: camera_stream_id 
          size_hint: (0.5, 0.5)   # this does work
          #size_hint: (0.1, 0.1)  # ...so does this
          #size_hint: (1, 1)      # ...and this
          pos_hint: {'center_x': 0.1, 'center_y': 0.1}    # NOTE this doesn't work
          #pos_hint: {'center_x': 0.9, 'center_y': 0.9}   # ...neither does this
          #pos_hint: {'x': 0, 'y': 0}                     # ...or this
  </code></pre>